venerdì 7 novembre 2014

INSPIRE tools inventory

I would like to make an inventory of the tools and components aiding the INSPIRE implementation that are available as FOSS. To do so, I have created a wiki page and I encourage your contribution in filling it. 
A lot of valuable pieces of software are being developed  and they could be ideally reused without reinventing the wheel all the times. 
If you are aware of a piece of Free software that responds to this requisite, please add it to the wiki page, with a small description and a link to relevant documentation page, or contact me if you don't have an account for the OSGeo wiki and do not wish to create one.
I think that eventually of this exercise will benefit everyone interested in reusing INSPIRE components. 

Thank you for your cooperation!




giovedì 6 novembre 2014

Image segmentation in GRASS GIS

Image segmentation is the process used to detect homogeneous objects in remote sensed images. This process is useful as a first step for classification. There are several tools around, both free and proprietary, that implement different algorithms. In these days I'm testing some of them and wanted to share some impressions.
To start I have selected my favourite GIS: GRASS. I'm using GRASS 7.1. The segmentation tool that I used is implemented in a module called i.segment, that was developed by Eric Momsen of North Dakota State University, during his Google Summer of Code in 2012.
The segmentation is performed on a group of bands and not on a single band, it means that the user can select the most significant ones in respect to the features she's investigating. The bands can be grouped using the command i.group (Shapiro, 2011).
The algorithm is iterative and can be time-consuming on large images. The parameter "memory" can be used to speed up the process if the machine  has a decent memory.
The main parameter worth to play with is the threshold parameter. The larger the threshold, the more objects are merged together. If the image is big, a useful tip is to test the threshold value on a smaller region then apply it to the region at large.
Another fantastic tools comes from Pietro Zambelli and is called i.segment.hierarchical (available in add-ons). It performs hierarchical segmentation for different threshold values, using the result of the previous run as a seed for the next one. It optimizes the computational time by subdividing the image in tiles and processing them in parallel.
The results of segmentation for increasing threshold values are shown hereinafter.
Threshold = 0.01


Threshold = 0.05



Threshold = 0.1



Threshold = 0.2