Changes between Version 5 and Version 6 of GSoC/2017

Jan 22, 2017, 8:32:57 AM (4 years ago)



  • GSoC/2017

    v5 v6  
    115115* Language requirements: Python, C
    116116* Co-mentors: Luca Delucchi, Pietro Zambelli
     118=== Additional GUI tools for image analysis===
     120GRASS GIS has a series of modules that provide the tools necessary for pixel-based and object-based image analysis. However, some steps in the process still require some rather complicated maneuvers. A series of new GUI modules would be very useful to make the experience more user friendly.
     122 * One task would be the development of GUI modules that allow to attribute class values to either vector polygons or raster areas.
     123   * For the vector case, this would be a generalized GUI to update values in the attribute table without having to enter vector digitizing mode. The module should allow a mechanism of defining the columns that need to be updated to then create a GUI form containing only those columns.
     124   * For the raster case, it would mean a system where the user can click on a raster, get the pixel value and then associate a class value to that pixel value. The result should be written to a text file.
     125 * Another task would be the development of a GUI ruleset generator. Ruleset based classification (object-based or not) means that the user defines a series of rules based on different input bands and pseudo-bands (and for object-based analysis also shape and context indicators). Based on these rules, the system then attributes each pixel/object to a class. Currently this is possible by writing the ruleset as an r.mapcalc input file, using nested if(x,a, b) function calls, or (when vector based) as a series of v.db.update calls. This system quickly gets difficult to read and prone to syntax errors as soon as the number of rules increases. The GUI tool should therefore provide a means to easily select attributes and define rules linked to these attributes. It should then translate these rules to either r.mapcalc calls (raster) or v.db.update calls (vector).
     126 * This project will require the ability to quickly gain working knowledge of the wxPython GUI code base. Examples exist within the existing code to help with this.
     128* Language requirements: Python, wxPython
     129* Mentor:
    118132== Tips for students ==