FieldTrip is an Open Source project with contributions from various individual users and research groups. If you want to contribute to the FieldTrip code, either by improving existing functions, or by implementing new functions, please consider the code guidelines and try to adhere to the existing representation of the data in the data structures.
Fieldtrip is primarily developed at the Donders Centre for Cognitive Neuroimaging (DCCN). Most people at the DCCN that use EEG or MEG in their research are using FieldTrip for (part of) their analysis. Some of these people also contribute by improving and extending the code.
The source code is maintained in Subversion/SVN, a version control system. A limited number of user has direct write access to the version control system. More details on the use of SVN for FieldTrip code management and release can be found here. All changes to the code are automatically available for the internal DCCN users, and every evening are also available in the latest version on the ftp server for the external users.
We have a seperate page where the known problems with the FieldTrip code and documentation are listed.
The remainder of this page contains documentation that pertains to the low-level development of FieldTrip. It is probably not of general interest to the typical end-users.
The FieldTrip functions are organized in a number of directories. These directories have specific properties with respect to their dependency on each other, and additions to FieldTrip should follow this structure. All high-level functions within the FieldTrip directories may call functions within the same directory, from other directories at the same hierarchical level, or directories lower in the hierarchy. But, low-level functions should not call high-level functions. There is an exception for the public directory which allows functionality at the level of the main FieldTrip functions and is kept as open-source, which would otherwise not have been available for contributions.
The main directory of FieldTrip and the different modules (see section modules below) contain high-level functions that are publicly available for the end-user. The functionality of the functions within these directories often depends on low-level functions that are not available for the end-user and are stored in so-called private directories. Some of the directories are shared with other open-source Matlab toolboxes.
There are some low-level features of the FieldTrip code that are of interest to other Open Source software developers. To facilitate the re-use of those functions, we have split them off into seperate modules. You can download these modules as stand-alone code from our ftp server, and use them in your own projects. It would be nice if you attribute this to our work, e.g. by providing a link to our FieldTrip website.