GRASS SoC Ideas 2010

From GRASS-Wiki
Revision as of 06:02, 12 March 2010 by MarisN (talk | contribs) (GSOC ideas for OGSF)

Jump to: navigation, search
Gsoc 2010 logo.jpg


February 2010: This page is open to contributions - please edit!

This is the GRASS page for Google Summer of Code 2010. Here we will list project ideas and and other information related to the GRASS GSoC projects.

  • Note that at this point accepted mentoring organizations have not yet been announced.


  OSGeo Flyer at
  Videos at
  More Flyers at


(GSoC timeline)

  • Mentoring organization applications open (March 8-12)
  • Accepted mentoring organizations announced (March 18)
  • Interested students should initiate preliminary discussions with projects (March 18-29)
  • Student applications open (March 29)
  • Deadline for student's applications (April 9)
Registering your application early (before the deadline) allows us to give you feedback for revisions before the final deadline, enhancing your proposal and thus giving you a better chance of success.
  • Mentor assignments and application reviews deadline (April 21)
  • Accepted proposals announced (April 26)
  • Community bonding time (getting to know the students)
  • Work Begins (May 24)
  • Midterm evaluation (July 12-16)
  • Pencils down! (August 9)
  • Final evaluations submitted to Google (August 16)

Required Steps

  • List ideas
  • Assign Mentors to Ideas
  • Notify OSGeo
  • Mentors evaluate student applications
  • Accepted students announced
  • Students subscribe to the grass-dev mailing list and introduce themselves
  • Create directory structure in the GRASS add-ons SVN for projects and setup access for students
    • Students must read and post agreement to RFC2 to the grass-psc mailing list to gain SVN access
    • Create a Wiki page for each accepted project, to be used as a progress reporting tool
  • Coding begins...
  • Students and mentors: Complete the Mid-term survey
  • Final commit and packaging for Google


  • Also review ideas from 2008 and 2009 which are still open.
  • Project ideas of your own are also most welcome.


Willing to Mentor: (Helena Mitasova, your name here)

  • wxGUI layout customization - reorganize the wxGUI layout to be more similar to QGIS and likeminded with all-in-one-frame interface (see figures below). Essentially follow the Human interface guidelines and mind your users (and where they come from - think newcomers to the GRASS world - "Don't Limit Your User Base" by being too different from others). If possible, this could be implemented as skin to give users choices to also get wxGUI as Multiple Document Interface (MDI, i.e, the wxGUI windows reside under a single parent window). More here.
Current wxGUI layout with detached window components
Proposal for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)
  • Continue wxNviz development for enhanced 3-4D visualization and analysis.
  • Develop a GUI module in wxPython for creating animations from multiple maps and saving animation outputs to animated GIF, MOV, or MPEG files.


Willing to Mentor: (your name here)

  • idea 1
  • idea 2
  • Implement OpenMP (multithreading) as much as possible
    • It is important to understand which modules are processor bound, and concentrate on them. i.e. do not needlessly complicate the code of non-long running processor bound modules


Willing to Mentor: (your name here)

  • idea 1
  • idea 2


  • GRASS's imagery modules (for satellite, scanned maps, and orthophotos) act as enhanced raster modules. In GRASS 5 and 6 they were mostly implimented using interactive X-monitors which are not available in MS Windows and so are removed in the new cross-platform code of GRASS 7.
    • We need someone willing to port the old modules to work with GRASS 7, including writing new wxPython GUI frontends to a number of existing tools and updating the imagery libraries to current raster library standards.
    • In addition, there are a number of improved/automated georectification tools which have not been merged into GRASS 5/6 which it would be nice to have updated and merged into the main code.
  • Implement OpenMP (multithreading) as much as possible

See the Ideas for imagery improvement and GRASS 7 ideas wiki pages for more details.

Willing to Mentor: (your name here)


  • Design system for building manual pages based on DocBook system
  • Design and implement modern metadata management system for GRASS to support OGC CSW and INSPIRE discovery a view services
  • Design and implement text displaying and styling in OGSF library and it's front-ends (NVIZ, wxNVIZ). Solution should be user configurable (fonts, colors, effects etc.) and multilanguage friendly.
  • Design and implement user-provided symbol support in OGSF library and it's front-ends (NVIZ, wxNVIZ). Solution should support GRASS symbols and/or SVG symbols.

Guidelines for Students

How do you maximize your chances of getting picked? First read the Google SoC FAQ. Then talk to us about your idea. Try emailing our dev-mailing list, or come and talk to us in IRC (#grass). You can also reach the mentors directly by emailing:

Getting started with GRASS coding

  • The source code is maintained in a SVN server which is easy to browse
Please review the SUBMITTING files there for our coding standards.
See also the development section of the GRASS user's wiki

Accepted Ideas

  • TBD