FreeSurfer Course Installation Instructions

Downloading & Installing Virtualbox
The first step in getting ready for the FreeSurfer Course is downloading VirtualBox. It is a virtual machine software, able to easily replicate the environment and user interface of another computer, in this case one with FreeSurfer pre-installed. First, you will need to download the file that contains the Image (more information forthcoming), and then follow the instructions on how to set up the virtual machine. These steps differ for MacOS and Windows, so instructions for both are below. Make sure to set up the Virtual Machine and download the tutorial data as well; instructions on both are below the install instructions.
If you are unable to complete these instructions due to your machine not meeting requirements or other technical issues, you will likely not be able to complete the course on that device, and should contact the course organizers for assistance or to cancel your course registration.

Note: Any computers with ARM-based processors, including M1 and M2 Macs, will not work with VirtualBox.

Table of Contents:
Installing on Windows
Installing on Mac
Decompressing the Image
Setting up the Virtual Machine
Retrieving Tutorial Data



Installing On Windows

1. Navigate to the VirtualBox website, https://www.virtualbox.org/wiki/Downloads, and download the latest version of VirtualBox.
WinInstall1.png


2. Save the installer and wait for the download to finish.
WinInstall2.png


3. Locate the installer in the Downloads folder and double click on it to launch it.
WinInstall3.png


4. Choose to install the default setup/configuration with the default options
WinInstall4.png


5. Allow the network connection to be reset and start the installation.
WinInstall5.png


6. Allow the installation to progress and complete. Then click the finish button.
WinInstall6.png


7. VirtualBox should automatically launch and display an empty window (containing no virtual machines).
WinInstall7.png


8. You are now ready to Decompress your VM Image.



Installing on Mac


Reminder: Any ARM based computers, including M1 and M2 Macs, will not work with VirtualBox, or our planned course.


1. Navigate to the VirtualBox website, https://www.virtualbox.org/wiki/Downloads, and download the latest version of VirtualBox.
MacInstall1.png


2. Allow downloads from the VirtualBox web site.
MacInstall2.png


3. Open the download archive when it finishes.
MacInstall3.png


4. Double click on the VirtualBox package installer
MacInstall4.png


5. Give the installer permission to run scripts.
MacInstall5.png


6. Allow the installer to continue.
MacInstall6.png


7. Pick a destination for the VirtualBox application. The default install location in the Applications folder on the boot partition should be fine (here an external disk named “external_BigSur)”. Your boot partition will be named differently, e.g., Macintosh HD, etc.
MacInstall7.png


8. Authenticate using your login credentials to allow the installation.
MacInstall8.png


9. VirtualBox will issue a notification that the kernel extension it installed is currently blocked from running. Click OK.
MacInstall9.png


10. After the notification the install completed, go into the system security and privacy settings and authenticate with your login credentials.
MacInstall10.png


11. With the preferences unlocked, select allow to enable the VirtualBox extension to load.
MacInstall11.png


12. YOU SHOULD BE PROMPTED to restart the machine in order for the VirtualBox kernel extension to load and run. Select restart and after the reboot login to your account.
MacInstall12.png


13. Check the VirtualBox application appears in the Applications folder.
MacInstall13.png


14. You are now ready to Decompress your VM Image.



Decompressing the Image


If you are testing this section, feel free to save the time and download the full version uncompressed. This will be tested extensively soon, but the plan is still in progress.


?. You are now ready to set up your Virtual Machine.



Setting up the Virtual Machine


1. Launch the VirtualBox application on your (host) machine. If you just finished installing VirtualBox for the first time, then you will see no machine images are available to run on the left hand side of the GUI.
Img1.1.png
Select “Preferences” from the VirtualBox application pull down menu.
Img1.2.png


2. Create a DEFAULT MACHINE FOLDER PATH on an (external or internal) drive where you have at least 30G of free disk space for VirtualBox to store the virtual machine. In the example below, the path under /Volumes/... was manually created on a different drive than the boot drive in order to enhance performance. External drives w/o a USB 3.0 or faster connection are not recommended.
Img2.png


3. An appliance file will be used to create an Ubuntu linux image to run. From the “File” pull down menu select “import appliance”.
Img3.1.png
See the web page containing this document for the URL to download the virtual appliance file using your web browser. Most browsers are set to download files into your “Downloads” folder. Use the “Choose” icon to navigate to the downloaded file,
Img3.2.png


4. Once the path/filename of the appliance file is listed in the “File” field, then select “continue”.
Img4.png


5. You will be presented with a window showing the current settings for the virtual appliance. Change the entry for “MAC address policy” to be “Generate new MAC addresses for all network adapters”.
Img5.png


6. Select “Import” to create the virtual machine.
Img6.png


7. Wait for all steps in the import process to finish.
Img7.png


8. There should now be an entry for the virtual machine on the left hand side of the GUI with the current virtual machine configuration displayed on the opposite side.
Img8.png


9. Start the virtual machine by clicking on the “Start” icon in the VirtualBox application.
Img9.1.png
The Ubuntu boot menu should appear with the 1st choice, “Ubuntu”, highlighted. Hit return or wait for it to automatically boot.
Img9.2.png


10. If the virtual machine fails to boot contact the FreeSurfer team and stop here. Otherwise, login as the user “developer” in the login menu. The password should have been provided along with access to the VM.
Img10.1.png
Enter the password.
Img10.2.png


11. A blank desktop should appear after you login.
Img11.1.png
Right click with the mouse on the desktop and select “open Terminal”.
Img11.2.png


12. A new terminal windows should appear and notify you if a FreeSurfer license is missing. In the example below, no license was found. You should have a license automatically if you have the correct VM distributed to course participants. If you do not contact course organizers, as you will not be able to continue with the course without one.
Img12.png


13. Power off the virtual machine by closing the VirtualBox Ubuntu window. On Mac OS this is the red circle in upper left hand corner of the window. On Windows this is the X in the upper right hand corner of the window. Check the entry for “Power Off”
Img13.png


14. Now that you have verified the VM runs as is “out of the box”, some changes should be made to the VM to better run freesurfer. With the VM still powered off, click on the “Settings” icon as the top of the VirtualBox window.
Img14.1.png
Click on the “System” icon to display the amount of RAM or “Base Memory” the VM can use from the host machine.
Img14.2.png


15. The VM has only ~4G of RAM “out of the box”. To the right hand side of the slider under the red part of the bar, you see the maximum amount of RAM available to the VM.
Img15.1.png
The recommendation is to allocate 8-12G of RAM to the VM for running FreeSurfer. If the total RAM listed is 16G, then increase the RAM to 8G before running Freesurfer. A rule of thumb is not to allocate more than 1/2 of the available host RAM to the VM.
Img15.2.png


16. Performance can similarly be improved by increasing the number of CPU’s or cores allocated to the VM. Click on the “Processor” tab next to the “Motherboard” tab. The VM has 1 CPU allocated “out of the box”. To the right hand side of the slider under the red part of the bar, you see the maximum amount of CPU’s available to the VM.
Img16.1.png
The recommendation is to allocate 2-4 CPU’s to the VM for running FreeSurfer. If the total CPU’s available are 2, then allocate 2 CPU’s to the VM and try not to run other CPU intensive programs on the host. A rule of thumb is not to allocate more than 1/2 of the available CPU’s from the host to the VM. The “Execution Cap” is fine as is at 100%.
Img16.2.png


17. The guest extensions are installed in the VM. These allow for: (1) bi-directional cut and paste between the host machine and the Ubuntu linux window; (2) drag and drop files between the host machine and the Ubuntu linux window; (3) resize the Ubuntu linux window;. Change these settings while the VM is running.
Img17.1.png
Try selecting a specific “Resize to ...” dimension available in the pull down menu. With Auto-resize set, it works on some hosts to manually resize the Ubuntu linux window by dragging on a corner to enlarge it. But this may not work with some host graphics hardware if the window is re-sized to non-standard dimensions. Re-sizing only takes effect after you login.
Img17.2.png


18. To drag and drop files from the host machine into the VM, first single click on the file cabinet icon on the left hand side of the desktop in the Ubuntu linux window. This will open the Ubuntu “Files” application which is the equivalent of the “Finder” (MacOS) or “Explorer” (Windows) in Linux. It will display the files in the home directory for userid developer.
Img18.png


19. You can (single click and drag) a file from the host machine, e.g., from MacOS Finder, Windows Explorer) window, into the Files application in the Ubuntu desktop. You will see the name of the file while dragging as the mouse hovers over the Files window. Note that permissions may prevent drag and drop from working on Windows.
Img19.1.png
When you release the mouse the license.txt file icon appears in the Files window. This is simply an example, you should already have the license for your system, but this would allow you to add your own data into the system from your computer easily if you wish.
Img19.2.png


20. Now you are ready to download the Tutorial Data, and test your systems functionality.



Retrieving Tutorial Data


1. At this point, the Ubuntu virtual machine should run including running the FreeView application from the terminal command line, e.g., display a volume (*.mgz file). Go back and review the previous documentation to setup and run the VM if this is not the case.

The tutorial data download archive needs ~8G of space and the uncompressed data needs ~14G of space. Find the location of the virtual machine folder on the host by right clicking on the entry for the virtual machine in the Virtual Box sidebar. On the Mac select “show in Finder” and on Windows select “show in Explorer”.
Tut1.png
Check the disk where the VirtualBox folder resides has a least another ~25G of free space available. If that is not the case, then you will need to setup a new copy of the VM on a disk partition with more space. Alternately, you can clone your existing VM to another disk partition with more space. (See the VirtualBox documentation on how to clone a VM).

Space permitting, this would be a good time to make a snapshot of the VM. However, you may need an additional ~25G for the first VM snapshot, i.e., the partition would then need ~50G of free space. Do not create snapshots if there is not enough disk space. This is not necessary for the course, but should be done often if important work is being done in then VM and not being otherwise backed up.


2. Open a new terminal window and check there are no reports of a missing license file. Per the instructions in the previous documents, the environment variable FS_LICENSE should point to your license file, e.g., license.txt.
Tut2.png


3. Run the setup_tutorial_data command to download and setup the tutorial data for use with the FreeSurfer 7.2.0 release. The download may take 20-30 minutes depending upon your network connection. See the “eta” estimate to the right hand side of the progress bar for the “estimated time of arrival”.
Tut3.png


4. Example terminal output is shown below for the completed download of the tutorial data. Note the archive name, tutorial_data_20211231_2058, may be different if the data has changed.
Tut4.png


5. Close the current terminal window by clicking on the red X in the upper right hand corner of the toolbar.
Tut5.1.png
Open a new terminal window and check the last line of output is “Set environment for tutorial data”. Stop, do not proceed and check with the FreeSurfer team if this is not the case.
Tut5.2.png


6. Run the test_tutorial_data command to test if your setup can run the tutorial commands. The test may take 20-30 minutes on a typical machine. You will see 80+ FreeView commands run and the FreeView GUI will automatically open and close. Do not manually close the FreeView window or interrupt the test.
Tut6.png


7. Example test output while running …
Tut7.png


8. Check the test ends by displaying “SUCCESS” If you do not get this result, e.g., the test exits prematurely or exits with an error, then check with the FreeSurfer team. Successful output for the end of the test is shown below.
Tut8.png


9. Lastly, run the setup_tutorial_data command again to reset the tutorial data to a clean state. The previously downloaded tutorial data will be used unless the tutorial data has changed since the last download. When the command finishes you should be able to run the tutorial commands from scratch. Run this command to reset the data before day 1 of the FreeSurfer course. Make sure any new terminal window reports “Set environment for tutorial data”.
Tut9.png

You are now prepared for the course! There are other tutorials here (link pending) if you wish to try out your system before the course or if you wish to go over more material, but this is optional.