In December 2002, after two years of assisting users with running BAMM on the command line. I decided to take the plunge and proposed the creation of a Graphical User Interface (GUI) for BAMM. My original intention was simply to create a simple interface to BAMM programs in the line of a dialog box that solicit data file name and a few number boxes for them to twick some parameters such as the size of a smoothing kernel. This design falls on the line of "Rapid Application Development" (RAD)-styled GUI popularized by VisualBasic.
Professor Bullmore called for a series of meetings where he, Dr Suckling and I brainstormed about how the GUI will look like. Unfortunately for me, my simple RAD-styled GUI ballooned to a full scale Graphical User Interface that have to support visual editing of processing pipeline. The three of us see the advantage of having a general purpose pipeline editor rather than RAD-style GUI that have to be tailor-made for every program. Privately, the main reason why I did not propose building a GUI capable of supporting visual editing of pipeline is our lack of experience in building any GUI, let alone one as sophisicated as this.
After these meetings, Dr Suckling and I were tasked to evaluate commercial and open source softwares. Our requirement lists are:
- Pipeline configuration must be visual. We describe it as constructing a flow chart
- Easy to use.
- There must be a way where we can program in the software. This allow us to customize the software for BAMM. If possible, we also want to contribute to the development of the software.
- Minimal financial cost to the users.
- Minimal management for us, i.e., no elaborate licensing scheme etc.
- Preferably, a software that can be used to incorporate other fMRI analysis software.
- Finally but not least, a software that has the potential to be adopted by others as well.
Our evaluations tell us that most software fall short of one or two of these requirements. Thus, we have to write one ourselves.
Around April 2003, development of a prototype started. Six months later, the prototype confirms that the Brain Mapping Unit have sufficient expertise to write a Visual Pipeline Editor. Moreover, it confirms that basic functionality can be delivered. We discarded the prototype and wrote the software from scratch. At this time, the software is known as EPLlab.
In late 2003, we applied for and was granted an "Eclipse Innovation Grant 2004" from IBM. In June 2004, a poster describing our effort was presented at the Human Brain Mapping Conference in Budapest. Later in around September 2004, a milestone was reached when we completed the basic software. From then onwards, we have a working software.
Around June 2004, we had a review of the software and it was clear to us that other research fields can benefit from our effort. A decision is made to separate fMRI domain-specific concerns from Visual Pipeline editing concerns. This, combined with an earlier decision to separate the GUI from BAMM, results in the current configuration of the software: GenericFX (a general editor), BrainFX (specialization of GenericFX for fMRI) and BAMMfx (BAMM using BrainFX as its GUI).
Today, GenericFX/BrainFX/BAMMfx continue to evolve. We are hopeful that it will prove to be a useful software for all.