Difference between revisions of "Portal:Develop"

From MNE-CPP Wiki
Jump to: navigation, search
Line 1: Line 1:
 +
== The MNE-CPP Project Structure==
 +
Highly modular and easily extendable
 +
Cross platform capable: Windwos, Linux, Mac, handheld devices & embedded systems
 +
Purely written in C++
 +
MNE-CPP is set up as a two layer structure:
 +
 +
Library layer:
 +
Backbone of the MNE-CPP framework
 +
Different libraries providing core features & functionalities
 +
Application layer:
 +
User interaction of the MNE-CPP framework
 +
Full scale GUI applications with rich user experience
 +
Command line applications
 +
Simple examples for an easy start
 +
Unit tests: Safeguarding correctness of results
 +
Dependencies:
 +
 +
Keep dependencies to a minimum
 +
Qt [1] for Graphical User Interface integration
 +
Light-weight template library Eigen [2] for linear algebra
 +
Future proof: Qt/Eigen are highly & activley maintained
 +
Avoid SOUP (Software Of Unknown Pedigree)
 +
 
== The MNE-CPP Development Cycle==  
 
== The MNE-CPP Development Cycle==  
 
=== Project Management ===
 
=== Project Management ===

Revision as of 12:27, 11 January 2016

The MNE-CPP Project Structure

Highly modular and easily extendable Cross platform capable: Windwos, Linux, Mac, handheld devices & embedded systems Purely written in C++ MNE-CPP is set up as a two layer structure:

Library layer: Backbone of the MNE-CPP framework Different libraries providing core features & functionalities Application layer: User interaction of the MNE-CPP framework Full scale GUI applications with rich user experience Command line applications Simple examples for an easy start Unit tests: Safeguarding correctness of results Dependencies:

Keep dependencies to a minimum Qt [1] for Graphical User Interface integration Light-weight template library Eigen [2] for linear algebra Future proof: Qt/Eigen are highly & activley maintained Avoid SOUP (Software Of Unknown Pedigree)

The MNE-CPP Development Cycle

Project Management

The MNE-CPP project is maintained by an agile management approach, using JIRA. JIRA is a well known issue tracking tool by Atlassian, which let's you post bug reports, improvement tasks, wishes for new features and much more. It gives you a way to directly participate in the development of MNE-CPP. Please go to MNE-CPP's JIRA website and sign up for an account if you wish to help to improve MNE-CPP.

Next to JIRA we also use Atlassian's Confluence to share documents, meeting notes and other project related files. You can find our confluence page here.

Tutorials

Introductive

Create a MNE-CPP based application

Create a MNE-X plugin

Advanced

MNE CPP on Neuromag Linux

Documentation

Coding Conventions & Style

Commit Policy

Reference Guide