Changes between Version 8 and Version 9 of GSoC/2016/Additional_segmentation_algorithms/weekly_report


Ignore:
Timestamp:
May 29, 2016, 2:28:07 PM (8 years ago)
Author:
hao2309
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GSoC/2016/Additional_segmentation_algorithms/weekly_report

    v8 v9  
    2323* A small exercise too get more familiar with basic GRASS code
    2424>>Moritz:
     25>>
    2526>>As as part of bonding period, and as you are now able to compile GRASS, I would like to propose a small exercise which is already a first step in the direction of your project and which should allow you to become a bit more familiar with the code and with coding practices: As currently i.segment only provides one algorithm, the entire layout of the module GUI is related to that one algorithm. In the attached screenshot you see the current GUI. My idea would be to have the three  mandatory inputs in the Required tab, then one tab per algorithm with algorithm-specific parameters, then the Optional tab. Otherwise, I'm afraid that the current'Settings' tab becomes overcrowded.
    2627>>
     
    3334* Finish the exercise to adding more parameters to the i.segment
    3435>Bo:
     36>
    3537>I think I've finished the exercise. For the time being I applied the following changes to the module GUI:
    3638>1.  I kept "required" tab and add the selection of algorithms. Because I think for all of the three algorithms the input data and output location are required, so this tab now is designed for the inputs and outputs for all three algorithms
     
    4749* Discussion about the algorithm and literature
    4850>>Markus:
     51>>
    4952>>I was reading through the literature that Moritz sent and think that the implementation of mean shift is relatively easy. The most complicated part is figuring out a method for adaptive bandwidth where the spatial and the range bandwidth might need to be adapted differently.
    5053>>As far as I understand, the mean shift method consists of two parts 1. change band values to become more similar to neighboring cells by use of a spatial and a range weighing kernel 2. identify connected components (cells with similar band values), this is also known as clusters or in GRASS as clumps (r.clump). For this part, a modified version of the r.clump code can be used
     
    6669* Further discussion about the algorithm mechanism (about the edge effect)
    6770>>Markus:
     71>>
    6872>>That is easy, there is no need to cut off edges.I would also not work with the number of pixels in nominator and denominator, because this number of pixels will vary for each window anyway depending on how many pixels are discarded because the spectral difference is larger than the spectral bandwidth. NULL cells are discarded anyway. Chopping off edges can be avoided for example for the very first pixel at row 0, col 0 by setting the window to those pixels east and south of the corner pixel, of course adhering to the spatial bandwidth. The window will thus be about a quarter of the size of a full window, that is not a problem. The new bandvalue is new value += weight * current value and weightsum += weight
    6973>>
     
    7377>>
    7478>>See also r.resamp.filter
     79>>
     80>>Moritz:
     81>>
     82>>My question would be how reliable results would be if you only one or two pixels are in the window. But I guess this is a marginal issue and we can see later if it really is a problem.
    7583
    7684