Presentation is loading. Please wait.

Presentation is loading. Please wait.

Unix Tutorial for FreeSurfer Users. Helpful To Know FreeSurfer Tutorial Wiki: https://surfer.nmr.mgh.harvard.edu/fswiki/FsTutorial https://surfer.nmr.mgh.harvard.edu/fswiki/FsTutorial.

Similar presentations


Presentation on theme: "Unix Tutorial for FreeSurfer Users. Helpful To Know FreeSurfer Tutorial Wiki: https://surfer.nmr.mgh.harvard.edu/fswiki/FsTutorial https://surfer.nmr.mgh.harvard.edu/fswiki/FsTutorial."— Presentation transcript:

1 Unix Tutorial for FreeSurfer Users

2 Helpful To Know FreeSurfer Tutorial Wiki: https://surfer.nmr.mgh.harvard.edu/fswiki/FsTutorial https://surfer.nmr.mgh.harvard.edu/fswiki/FsTutorial Questions? Answers: https://surfer.nmr.mgh.harvard.edu/fswiki/FsTutorial /QuestionAnswers https://surfer.nmr.mgh.harvard.edu/fswiki/FsTutorial /QuestionAnswers

3 What is Unix/Linux? An operating system (like Windows and OS X) Linux is the free, modifiable, and redistributable version of Unix Why use it?

4 What is Unix/Linux? An operating system (like Windows and OS X) Linux is the free, modifiable, and redistributable version of Unix Why use it? –freedom to modify and customize –power to write many scripts with multiple commands to manage data –to use computer resources on the network efficiently, such as clusters

5 Getting Started Communicate with operating system through a “shell” or terminal window. For course-provided Linux computers: Double click Terminal icon on Desktop For Macs: Applications > Utilities > XQuartz (double click) Applications > Utilities > Terminal

6 Warm Up Type: and hit enter. date

7 Warm Up Type: and hit enter. Should see date Mon Apr 6 8:05:24 EDT 2009

8 Warm Up Type: and hit enter. Should see Type: and hit enter. date Mon Apr 6 8:05:24 EDT 2009 cal

9 Warm Up Type: and hit enter. Should see Type: and hit enter. Should see date Mon Apr 6 8:05:24 EDT 2009 cal April 2009 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

10 Directories Unix uses a hierarchical file system ( think folders in Windows )

11 Directories Unix uses a hierarchical file system ( think folders in Windows ) Home is like “My Computer”

12 Directories Unix uses a hierarchical file system ( think folders in Windows ) Home is like “My Computer” Like “My Documents”

13 Directories Unix uses a hierarchical file system ( think folders in Windows ) Home is like “My Computer” Like “My Documents” Like “My Photos”

14 Directories Unix uses a hierarchical file system ( think folders in Windows ) Home is like “My Computer” Like “My Documents” Like “My Photos” picture.jpg

15 Location path: /MyComputer/MyDocuments/MyPhotos Type: and hit enter. Should see shows “present working directory” or current location as a path pwd /home/nmrclass /Users/YourName OR

16 Opening a Directory Not double clicking Type command to “open” Commands to open files will differ

17 Navigating Directories “change directory”: move into a folder “list”: see contents of directory ls cd __ ls __

18 Navigating Directories “change directory”: move into a folder “list”: see contents of directory ls cd __ ls __ Desktop matlab tmp TUTORIAL_DATA

19 Anatomy of a Command command -option1 –option2 file command - -help man __ For Mac :

20 Anatomy of a Command command -option1 –option2 file command - -help ls --help Try: or man ls

21 Directory Contents List contents of directory you are in lists names of directories/files ls ls -lrt ls -l ls -a

22 Directory Contents List contents of directory you are in lists names of directories/files lists hidden files too.cshrc.bashrc.alias ls ls -lrt ls -l ls -a

23 Directory Contents List contents of directory you are in lists names of directories/files lists hidden files too lists file details drwxrwx--- user group others ls ls -lrt ls -l ls -a

24 Directory Contents List contents of directory you are in lists names of directories/files lists hidden files too lists file details lists recent files last ls ls -lrt ls -l ls -a

25 Save Some Time Filename Completion hit Tab key should see hit enter History hit keyshould see ls Des ls Desktop

26 Changing Directories makes a new directory “practice” changes to directory “practice” mkdir practice cd practice ls -lrt pwd ls pwd /home/nmrclass /home/nmrclass/practice should see Nothing!

27 Changing Directories

28 mkdir stuff ls makes folder “stuff” inside practice should see “stuff”

29 Using an Editor If using a Mac: Type: I could write a script. File > Save (Buffer) File > Exit emacs should see “mynotes.txt” emacs mynotes.txtopen -e ls Format > Make plain text File > Save

30 Using an Editor If using a Mac: Type: I could write a script. File > Save (Buffer) File > Exit gedit should see “mynotes.txt” Other Editors: pico gedit mynotes.txt ls Format > Make plain text File > Save open -e

31 Using an Editor Ctrl+C Returns prompt & Runs program in background gedit error.log &

32 Copying Files ls cp --help cp mynotes.txt stuff cd stuff more mynotes.txt learn all the options or “arguments” is the copy command cp

33 Copying Files ls cp --help cp mynotes.txt stuff cd stuff less mynotes.txt learn all the options or “arguments” is the copy command cp

34 Changing Directories shows one directory up ls.. pwd /home/nmrclass/practice/stuff ls../.. goes up two! cd.. should see cd../.. can also do (but don’t right now)

35 Copying / Moving Files cp mynotes.txt myothernotes.txt Could also use/do: mv myothernotes.txt hernotes.txt mv hernotes.txt..

36 Removing Files rm mynotes.txt ls pwd should be in “stuff” ls

37 Using FreeSurfer With FreeSurfer, certain variables must be set in order to use it correctly: FREESURFER_HOME SUBJECTS_DIR tell Operating System where FreeSurfer is tell FreeSurfer where data is

38 What is a Variable? Character string that is assigned a value Way of passing information from the shell to programs Assign a value to a variable Programs look “in the environment” for variables Easy to change values/manipulate

39 What is a Variable? How ‘echo’ works: To set a variable: To check what a variable is set to: echo $TEST_VARIABLE export TEST_VARIABLE= yourfirstname echo Freesurfer Rocks!

40 Using FreeSurfer With FreeSurfer, certain variables must be set in order to use it correctly: FREESURFER_HOME SUBJECTS_DIR tell Operating System where FreeSurfer is tell FreeSurfer where data is

41 Required Variables To use FreeSurfer you’ll have to do: export FREESURFER_HOME=/home/apps/freesurfer source $FREESURFER_HOME/SetUpFreeSurfer.sh tell Operating System where FreeSurfer is source this script to get your computer ready to use FreeSurfer (sources other scripts & sets other variables) export SUBJECTS_DIR= /path/to/data

42 Required Variables To use FreeSurfer you’ll have to do: export FREESURFER_HOME=/home/apps/freesurfer source $FREESURFER_HOME/SetUpFreeSurfer.sh aka source /home/apps/freesurfer/SetUpFreeSurfer.sh tell Operating System where FreeSurfer is source this script to get your computer ready to use FreeSurfer (sources other scripts & sets other variables) export SUBJECTS_DIR= /path/to/data

43 Required Variables To use FreeSurfer you’ll have to do: setenv FREESURFER_HOME /home/apps/freesurfer source $FREESURFER_HOME/SetUpFreeSurfer.csh tell Operating System where FreeSurfer is source this script to get your computer ready to use FreeSurfer (sources other scripts & sets other variables) setenv SUBJECTS_DIR /path/to/data

44 Required Variables To use FreeSurfer you’ll have to do: setenv FREESURFER_HOME /home/apps/freesurfer source $FREESURFER_HOME/SetUpFreeSurfer.csh aka source /home/apps/freesurfer/SetUpFreeSurfer.csh tell Operating System where FreeSurfer is source this script to get your computer ready to use FreeSurfer (sources other scripts & sets other variables) setenv SUBJECTS_DIR /path/to/data

45 Required Variables With FreeSurfer, certain variables must be set in order to use it correctly: FREESURFER_HOME SUBJECTS_DIR tell Operating System where FreeSurfer is tell FreeSurfer where data is echo $FREESURFER_HOME echo $SUBJECTS_DIR To check variables

46 Required Variables To go to location of your data: $ means take the value of the variable cd $SUBJECTS_DIR export SUBJECTS_DIR= /path/to/data

47 Required Variables To go to location of your data: $ means take the value of the variable cd $SUBJECTS_DIR aka cd /path/to/data export SUBJECTS_DIR= /path/to/data

48 Review Case sensitive Does not like spaces in file names (e.g. filename.txt vs. file name.txt) Ctrl+c kills a process & brings back command prompt Type ‘q’ to quit the program ‘less’ Highlight & middle click to copy & paste Use ‘&’ to open a program in the background Cannot open a 2 nd program if do not have a command prompt

49 Review no double clicking mkdir ls cd pwd emacs, gedit, pico cp rm

50 More Help UNIX Tutorial For Beginners: http://www.ee.surrey.ac.uk/Teaching/Unix/ http://www.ee.surrey.ac.uk/Teaching/Unix/ Linux in a Nutshell: http://docstore.mik.ua/orelly/linux/lnut/ch01_01.htm http://docstore.mik.ua/orelly/linux/lnut/ch01_01.htm UNIX Cheat Sheet: http://tux.cs.unlv.edu/refs/linux_commands.html http://tux.cs.unlv.edu/refs/linux_commands.html Command Line Tutorial: http://surfer.nmr.mgh.harvard.edu/fswiki/FsTutorial/CommandL ineNavigation http://surfer.nmr.mgh.harvard.edu/fswiki/FsTutorial/CommandL ineNavigation

51 The End Good Luck!

52 Writing Scripts Putting multiple commands together. Automatically running a sequence of commands Example: create a file named my_first_script.csh with the contents: #!/bin/csh setenv name FreeSurfer echo I love $name ! % chmod u+x my_first_script.csh %./my_first_script.csh

53 Loops in Scripts You can create loops, if statements, … Example: create a file named my_first_loop.csh with the contents: #!/bin/csh foreach name (‘Bill Murray’ ‘Wes Anderson’) echo I love $name ! end

54 Inputs to Scripts You can create take inputs from the command line Example: create a file named my_first_IO.csh with the contents: #!/bin/csh echo The $0 command is called with $#argv parameters echo parameter 1 is $1 echo parameter 2 is $2

55 Required Variables To use FreeSurfer you’ll have to do: setenv FREESURFER_HOME /home/apps/freesurfer source $FREESURFER_HOME/SetUpFreeSurfer.csh tell Operating System where FreeSurfer is source this script to get your computer ready to use FreeSurfer (sources other scripts & sets other variables) setenv SUBJECTS_DIR /path/to/data

56 Registration -align subjects -common space -reference points b/w subjects will be same transforms template deform morph warp compute resample

57 More Help alias e emacs man alias ls file*  lists file1, file2, file3 ls file[12]  lists file1 and file2 but not file3 command >>& file.txt  save output to screen and errors in text file


Download ppt "Unix Tutorial for FreeSurfer Users. Helpful To Know FreeSurfer Tutorial Wiki: https://surfer.nmr.mgh.harvard.edu/fswiki/FsTutorial https://surfer.nmr.mgh.harvard.edu/fswiki/FsTutorial."

Similar presentations


Ads by Google