Difference between revisions of "SoC 2010 Application"

(Description: mention the Fiji Updater)
m (typo)
Line 62: Line 62:
 
== What is your plan for dealing with disappearing students? ==
 
== What is your plan for dealing with disappearing students? ==
  
In the event that a student abandons without completing his/her project, the Fiji community will pick up where the student left and continue the work without the student.
+
In the event that a student abandones without completing his/her project, the Fiji community will pick up where the student left and continue the work without the student.
  
 
The mentors will setup the project together with the student, splitting the project into small chunks (milestones) that can be completed within reasonable spans of one or two weeks. Students will be advised and encouraged to document their code as they go, and code documentation (concise yet complete) will be one aspect of the evaluation. Proper documentation will enable any new student or any Fiji community member to pick up the project where the student left it.
 
The mentors will setup the project together with the student, splitting the project into small chunks (milestones) that can be completed within reasonable spans of one or two weeks. Students will be advised and encouraged to document their code as they go, and code documentation (concise yet complete) will be one aspect of the evaluation. Proper documentation will enable any new student or any Fiji community member to pick up the project where the student left it.

Revision as of 05:35, 5 March 2010

The application for Fiji (Fiji Is Just ImageJ)

Description

Fiji stands for "Fiji is Just ImageJ". ImageJ is a public domain scientific image processing application sponsored by the National Institute of Health. ImageJ runs on the Java Virtual Machine and thus has direct access to numerous and diverse public java libraries.

Thanks to one of last year's Google Summer of Code projects, the individual components of Fiji are kept up-to-date with the Fiji Updater.

All Fiji project founders and contributors have written large plugin collections and ImageJ-centric applications. At some point, it was inevitable to merge our projects into a centralized and organized framework, which includes consistent and updated documentation for all its components.

For the creation of Fiji, beyond our own ImageJ-centric applications, we selected and tested a subset of the literally thousands of open source plugins that exist for ImageJ, and integrated them along with several open source libraries into a consistent framework. Plugins added capabilities beyond mere image processing, including image segmentation, image registration, 3D visualization of image volumes, and support for a variety of JVM-supported scripting languages (so far: javascript, jython, jruby, clojure and beanshell).

Fiji as a community is supported by a variety of scientific research institutions with vested interests on image processing, including but not limited to the Howard Hughes Medical Institute Janelia Farm, the Max Planck Institute of Molecular Cell Biology and Genetics in Dresden, and the Institute of Neuroinformatics of the University of Zurich and ETH Zurich.

Why is your organization applying to participate in GSoC 2010? What do you hope to gain by participating?

There are numerous tasks suitable for independent small projects, that would enhance Fiji substantially. With the GSoC, we see an opportunity to bring young bright people to our project, using the projects as their entry point to both the human aspects of our community (particularly its frequent hackathons) and the project code base.

Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation

Yes. We have participated in 2010. Out of 3 accepted students, we had 1 failure (the student was late starting the project, accepted a fulltime day-job in addition to the GSoC project, and was unable to accomplish even the simplest tasks set by his mentor), and 2 successes.

One of the two successful projects was to provide a script editor with syntax highlighting for all the scripting languages supported by Fiji: Jython, JRuby, Clojure, Javascript and BeanShell. As a bonus, the script editor supports writing Java plugins, too: http://pacific.mpi-cbg.de/wiki/index.php/Script_Editor

The other successful project was to provide a full-fledged plugin manager. During the project, it turned out that a full plugin manager would not be feasible, but the project's result was a versatile Fiji Updater, which was incorporated into mainline Fiji after some cleanups: http://pacific.mpi-cbg.de/wiki/index.php/Update_Fiji

Unfortunately, we were not able to retain the students as regular contributors, which may, or may not, be due to the tight organization of their respective studies.

If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?

We applied in 2009 and got accepted.

What license(s) does your project use?

GPL (GNU Public License), version 2, with the exception that all plugins are free to use whatever license they wish to, as long as no Fiji-specific code is used.

What is the URL for your ideas page?

http://pacific.mpi-cbg.de/wiki/index.php/SoC_2010_Ideas

What is the main development mailing list for your organization?

fiji-devel@googlegroups.com

What is the main IRC channel for your organization?

  1. fiji-devel on irc.freenode.net

Does your organization have an application template you would like to see students use? If so, please provide it now

http://pacific.mpi-cbg.de/SoC_2010_Template


Who will be your backup organization administrator?

Johannes Schindelin and Pavel Tomancak

What criteria did you use to select individuals as mentors? Please be as specific as possible

All of the prospect mentors of the Fiji team must have proven their competence by being author of at least one popular ImageJ plugin. This ensures that they have at least intermediate knowledge of Java, the ImageJ API, and the community process. It also guarantees that the mentors do not "go away", and that they can finish the project in the unfortunate case that the student "goes away".

What is your plan for dealing with disappearing students?

In the event that a student abandones without completing his/her project, the Fiji community will pick up where the student left and continue the work without the student.

The mentors will setup the project together with the student, splitting the project into small chunks (milestones) that can be completed within reasonable spans of one or two weeks. Students will be advised and encouraged to document their code as they go, and code documentation (concise yet complete) will be one aspect of the evaluation. Proper documentation will enable any new student or any Fiji community member to pick up the project where the student left it.

What is your plan for dealing with disappearing mentors?

All of our mentor candidates have scientific research jobs directly intertwined with the software application Fiji. It is in their prime interest to gather new members and to develop Fiji further. Both have mentored students outside the GSoC program in the recent years.

In the unlikely event that any of the mentors must drop off, another mentor will be arranged to step in. The Fiji community has plenty of people involved in all aspects of the software, that would happily take on the mentorship to help the students finish their chosen project. In all likelihood, such new mentor would already be acquainted with the student via the mailing list, and through direct interest in, and awareness of project activities.


What steps will you take to encourage students to interact with your project's community before, during and after the program?

The Fiji team developed good communications on the mailing list as well as on IRC out of necessity: the members live in different countries. This culture of communication will help the students not to be afraid to ask for help and report their progress.

Further, the mentors will make sure to hold "office hours" on IRC, and will generally try to start the conversation if the students do not do that themselves.

Frequent informal and short status updates will be asked for, so that the students do not lose focus, and if (geographically) possible, the mentors will meet their students in person.

What will you do to ensure that your accepted students stick with the project after GSoC concludes?

Fiji is a thriving image processing software, and it gains functions almost weekly. Students interested in image processing will find that it provides a good basis for their future careers (provided that they want to stay working on image processing).

The Fiji group has been meeting 3 to 4 times a year since June 2007 (before the Fiji project was actually started!), and we have one major meeting already planned for this year. Such meetings are hackathons: we sit down together and code, exchange image data for testing, and usually hold one or two workshops for users.

We will invite and fund the students who stick around to attend at least one hackathon. The environment in these hackathons is actively kept friendly and relaxed, while at the same time focused on the variety of scientific problems all members are trying to solve.