[GRASS-dev] GRASS Imagery

I would like to manage grass imagery modules (trying to make gui modules for imagery tools).
Can anyone give me any suggestions or tips which I should follow during development.
If anyone is willing to mentor me I am happy to be a student of you.

ā€“
Rashad

Mohammed Rashad wrote:

I would like to manage grass imagery modules (trying to make gui modules for
imagery tools).
Can anyone give me any suggestions or tips which I should follow during
development.
If anyone is willing to mentor me I am happy to be a student of you.

I am nearly finished with a wxGUI version of i.points, based on the
georectifier, but with two panes, more functionality and some more
safety nets. This, once I have submitted it, plus the georectifier
could be used as starting points for other gui modules for imagery
tools. Optionally, I could provide you a template for a map display
with two panes (map windows). What imagery tools exactly are you
thinking of?

Best,

Markus M

Hi,

2010/7/15 Markus Metz <markus.metz.giswork@googlemail.com>:

I am nearly finished with a wxGUI version of i.points, based on the
georectifier, but with two panes, more functionality and some more
safety nets. This, once I have submitted it, plus the georectifier
could be used as starting points for other gui modules for imagery

great! Looking forward to see it in SVN.

tools. Optionally, I could provide you a template for a map display
with two panes (map windows). What imagery tools exactly are you
thinking of?

I would suggest to start with i.class...

Martin

--
Martin Landa <landa.martin gmail.com> * http://gama.fsv.cvut.cz/~landa

Martin Landa wrote:

Hi,

2010/7/15 Markus Metz <markus.metz.giswork@googlemail.com>:

I am nearly finished with a wxGUI version of i.points, based on the
georectifier, but with two panes, more functionality and some more
safety nets. This, once I have submitted it, plus the georectifier
could be used as starting points for other gui modules for imagery

great! Looking forward to see it in SVN.

Now available in trunk as of r42795.

Martin, Michael, I have a question about code maintenance / code
duplication. The new file gcpmapdisp.py is fully compatible with
mapdisp.py, I have added things for the GCP Manager, but not removed
anything. In the end, I would like to have either only mapdisp.py and
not gcpmapdisp.py or a substantially reduced gcpmapdisp.py where all
the stuff not used by the GCP Manager will be removed, e.g. vdigit and
nviz related, printing, deorations. Having only mapdisp.py and not
gcpmapdisp.py might be easier for code maintenance and updating. You
are the wxGUI gurus, what would you recommend?

Markus M

Mohammed Rashad wrote:
> I would like to manage grass imagery modules (trying to make gui
> modules for imagery tools). Can anyone give me any suggestions or
> tips which I should follow during development.
> If anyone is willing to mentor me I am happy to be a student of you.

Markus Metz wrote:

I am nearly finished with a wxGUI version of i.points, based on the
georectifier, but with two panes, more functionality and some more
safety nets.

excellent do see the imagery modules getting some attention.

fyi spend some time exploring i.vpoints too, besides the mouse-only dual-
window method there is some nice stuff hiding in there there like reverse
projecting vector overlays from the target Location, 1st, 2nd, 3rd order
fit info, etc.

i.points is more the simple to use version with limited options, i.vpoints
more the advanced + whistles and bells version.

also there are a couple auto-train variants from GRASS 5 addons (maybe on
old website not wiki addons) but Markus N could probably explain those
better than me. Perhaps there are some good ideas/workflow designs in there
which might be useful.

one long-term wish is to be able to use the arrow keys to nudge the cross-
hairs mouse cursor by 1 pixel.

tip o'the day:
Many modern UNIX distros ship with really bubblegum fuzzy antialiased 5
pixel-wide mouse cursors which are no good for precise work such as georef.
Here is how to get X11 back to the classic non-bloated engineering-
style ones (so usable 1 pixel-wide cross-hair cursor when the exactitude
of a draftsman is needed):

mkdir -p ~/.icons/default/
ln -s /etc/X11/cursors/core.theme ~/.icons/default/index.theme
[restart X-windows]

Hamish

Hamish wrote:

excellent do see the imagery modules getting some attention.

fyi spend some time exploring i.vpoints too, besides the mouse-only dual-
window method there is some nice stuff hiding in there there like reverse
projecting vector overlays from the target Location, 1st, 2nd, 3rd order
fit info, etc.

One thing at a time:-) I concentrated on the graphical interface
first, iv.points functionality will come later. There is already 1st,
2nd, 3rd order fit info.

i.points is more the simple to use version with limited options, i.vpoints
more the advanced + whistles and bells version.

also there are a couple auto-train variants from GRASS 5 addons (maybe on
old website not wiki addons) but Markus N could probably explain those
better than me. Perhaps there are some good ideas/workflow designs in there
which might be useful.

Maybe redesign i.points and i.linespoints to run without monitors,
have them available through the toolbar to auto-generate control
points?

one long-term wish is to be able to use the arrow keys to nudge the cross-
hairs mouse cursor by 1 pixel.

You can zoom in very far and then set control points with sub-pixel
(here pixel = raster cell, not screen pixel) accuracy. Not good
enough?

tip o'the day:
Many modern UNIX distros ship with really bubblegum fuzzy antialiased 5
pixel-wide mouse cursors which are no good for precise work such as georef.
Here is how to get X11 back to the classic non-bloated engineering-
style ones (so usable 1 pixel-wide cross-hair cursor when the exactitude
of a draftsman is needed):

The wxGUI cross cursor in combination with a high zoom looks ok to me.
Still needs improvement?

Markus M

just a quick wish, could the right panel hide away with a triangle
button, like in tcltk NVIZ in the bottom-left to hide the control
panel.

often you are just working with a single scanned map with known
GPS coords.

also fyi lat/lon (+D:M:S) support was a cause of a number of old
i.points bugs. mostly due to the programmer not thinking about
that. (losing fidelity with %f, not accepting D:M:S etc)

more later..

thanks,
Hamish

Hamish wrote:

just a quick wish, could the right panel hide away with a triangle
button, like in tcltk NVIZ in the bottom-left to hide the control
panel.

Different solution: if no target map is specified for display, the
target display is hidden. A map can be added later on to the target
display through the settings dialog which will make the target display
visible.

often you are just working with a single scanned map with known
GPS coords.

Right.

also fyi lat/lon (+D:M:S) support was a cause of a number of old
i.points bugs. mostly due to the programmer not thinking about
that. (losing fidelity with %f, not accepting D:M:S etc)

There is a utility to convert DMS to decimal degrees, I could use that.

Markus M

Hamish wrote:

> just a quick wish, could the right panel hide away with a triangle
> button, like in tcltk NVIZ in the bottom-left to hide the control
> panel.

Markus Metz wrote:

Different solution: if no target map is specified for display, the
target display is hidden. A map can be added later on to the target
display through the settings dialog which will make the target display
visible.

yes, that's even better.

There is a utility to convert DMS to decimal degrees, I could use that.

float_or_dms(string) in lib/python/core.py

(funny name; still needs S,W suffix to negative value? beware scanning
floats ending with "E" are not actually 1e+6 [more for when importing
model output from a file])

cheers,
Hamish

Markus,

Thanks for doing this. It has been on my todo list for over a year. So I'm glad that you have taken this up.

It seems to me that your 2nd option is the best one. However, what was once mapdisp.py is now split into 3 different modules, so this is somewhat more complicated than it was.

Michael
____________________
C. Michael Barton
Director, Center for Social Dynamics & Complexity
Professor of Anthropology, School of Human Evolution & Social Change
Arizona State University

voice: 480-965-6262 (SHESC), 480-727-9746 (CSDC)
fax: 480-965-7671 (SHESC), 480-727-0709 (CSDC)
www: www.public.asu.edu/~cmbarton, http://csdc.asu.edu

On Jul 15, 2010, at 2:11 AM, Markus Metz wrote:

Martin Landa wrote:

Hi,

2010/7/15 Markus Metz <markus.metz.giswork@googlemail.com>:

I am nearly finished with a wxGUI version of i.points, based on the
georectifier, but with two panes, more functionality and some more
safety nets. This, once I have submitted it, plus the georectifier
could be used as starting points for other gui modules for imagery

great! Looking forward to see it in SVN.

Now available in trunk as of r42795.

Martin, Michael, I have a question about code maintenance / code
duplication. The new file gcpmapdisp.py is fully compatible with
mapdisp.py, I have added things for the GCP Manager, but not removed
anything. In the end, I would like to have either only mapdisp.py and
not gcpmapdisp.py or a substantially reduced gcpmapdisp.py where all
the stuff not used by the GCP Manager will be removed, e.g. vdigit and
nviz related, printing, deorations. Having only mapdisp.py and not
gcpmapdisp.py might be easier for code maintenance and updating. You
are the wxGUI gurus, what would you recommend?

Markus M