| 117 | |
| 118 | === Additional GUI tools for image analysis=== |
| 119 | |
| 120 | GRASS 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. |
| 121 | |
| 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. |
| 127 | |
| 128 | * Language requirements: Python, wxPython |
| 129 | * Mentor: |
| 130 | |