Version 13 (modified by 13 years ago) ( diff ) | ,
---|
Table of Contents
wxIClass
wxIClass is a wxGUI extension. Generates spectral signatures for an image by allowing the user to outline regions of interest. The resulting signature file can be used as input for i.maxlik or as a seed signature file for i.cluster. (cited from i.class manual)
wxIClass should have similar functionality as i.class. Don't be confused with older wxGUI i.class implementation wx.class (addons, wiki). wxIClass should replace wx.class.
It will be available in GRASS 7. Now it is in the first development phase and it is developed in private repository. It will be moved to trunk when it's basic functionality is available.
Naming conventions
- module name
- User friendly name should be found.
- In the implementation wxIClass is used (and IClass or iclass in C implementation).
- Now Classification is used as window title.
- terms in user interface
- Map window panes are called Preview Displays and Training Areas Display.
- Term class is used.
- conventions in implementation
- C
- Function names start with
I_iclass_
. (I
for imagery). - Structure names start with
Iclass_
. - Term category is used instead of class because it is determined by CAT column (rule taken from old
i.class
).
- Function names start with
- Python
- C
User wiki
See also GRASS User Wiki page (TODO).
Implemented features
- Main window (
MapFrame
) with two maps and area for plots (similar to i.class window) and with statusbar and toolbar similar to GCP - C functions for wxIClass in
lib/imagery
- computing statistics (mean, ...)
- creating raster map
- simple API for Python
- saving signature file (writing signature file seems to be broken in old i.class, fixed now)
- works for multiple classes (categories) and multiple training areas (i.class worked only for one training area)
- Plots pane showing histograms and coincidence plots (using
PyPlot
) - class (category) manager
- name settings
- color settings
- layer management --- one for each display (add, delete, set opacity, move layer to top)
- ability to change the standard deviation multiplier ("matching" raster map is redrawn)
- digitizer is integrated into training map display (works, but segfaults when deleting)
- automatic vector map and raster maps management
- they are temporary (they are deleted when closing window)
- they gets unique names (common part and unique number)
- unique part is from
g.tempfile
function - for vector dot from
g.tempfile
is removed
- unique part is from
- in user interface only common (user friendly) part of the name is shown
Planned features
- something like layer manager for both mapwindows (Training and Preview)
- substituted by combo box (moves map layer to top and sets active map for opacity changing and deleting)
- better layer order management than with combo box
- additional functionality
- copying (or moving) layers from one mapwindow to the second one
- importing/exporting vector map (also exporting raster could be useful)
- importing existing signature file (see i.class manual)
- dialog to show generated signature file
- removing subgroup from user interface
- scatter plot (in addition to histograms and coincidence plots)
Digitizer requirements
- add area
- edit area
- remove area
- in user interface removing boundary and centroid separately is inconvenient
- wxIClass needs removing areas by category
- undo/redo (would be nice to have)
- do not add database record for feature
The best solution is probably a set of common classes like IVDigit
and IVDigitWindow
which provide all but customizable digitizing functionality. Then wxIClass digitizer part can use some parameters and overriding of inherited methods to customize digitizer. Overriding need to be used e. g. in places where standard digitizer uses UserSettings
.
Roadmap
- Refactoring of
MapFrame
s aMapWindow
s (mapdisp*.py
,gcpmapdisp*.py
) - Create/edit imagery group dialog
- Digitizer customization
List of tickets
No results