Please refer to this site/make edits here for the most updated information: https://partnershealthcare.sharepoint.com/sites/LCN/SitePages/Archived-Notes.aspx#next-gen-code

#pragma section-numbers on

2. NextGenCode

a grab-bag of notes on what we'd like to see in the ideal freesurfer source code environment, and runtime

2.1. Newer respository

2.2. CMake building and DartBoard

2.3. Third-Party Packages

2.4. Mac OS, and cluster OS build support

2.5. TCL/TK and others

2.6. Source Code cleanups

2.7. GPU Transition

2.8. recon-all

2.9. Installation details

2.10. Scripting language support

First phase is to wrap IO and utils so that it's possible for everyone to write scripts (Python, Numpy) in FreeSurfer instead of adding binaries to the source distribution. evaluate Cython as possible means.

When done properly, instead of adding a directory ( by mimicking the dummy/ project we have ) and toying with the Autotools, one can simply write a Python script like following:

import fs.utils as u
import fs.io as io

im = io.MRIread('test.mgz')
m = u.MRImean(im, 5)

2.11. Code Style Uniformization

3. Distribution

3.1. Better Compiler

3.2. Versioning Cycle