Statistics
| Revision:

root / org.gvsig.toolbox / trunk / org.gvsig.toolbox / org.gvsig.toolbox.algorithm / src / main / java / es / unex / sextante / gridStatistics / neighborhoodMedian / NeighborhoodMedianAlgorithm.java @ 59

History | View | Annotate | Download (1.14 KB)

1
package es.unex.sextante.gridStatistics.neighborhoodMedian;
2

    
3
import java.util.ArrayList;
4
import java.util.Arrays;
5

    
6
import es.unex.sextante.core.Sextante;
7
import es.unex.sextante.gridStatistics.base.NeighborhoodStatsBaseAlgorithm;
8

    
9
public class NeighborhoodMedianAlgorithm
10
         extends
11
            NeighborhoodStatsBaseAlgorithm {
12

    
13
   @Override
14
   public void defineCharacteristics() {
15

    
16
      setName(Sextante.getText("Median__neighbourhood"));
17
      setGroup(Sextante.getText("Focal_statistics"));
18
      super.defineCharacteristics();
19

    
20
   }
21

    
22

    
23
   @Override
24
   protected double processValues() {
25

    
26
      int i;
27
      double dValue;
28
      final ArrayList validCells = new ArrayList();
29

    
30
      for (i = 0; i < m_dValues.length; i++) {
31
         dValue = m_dValues[i];
32
         if (dValue != NO_DATA) {
33
            validCells.add(new Double(dValue));
34
         }
35
      }
36

    
37
      if (validCells.size() > 0) {
38
         final Object[] array = validCells.toArray();
39
         Arrays.sort(array);
40
         return (((Double) array[validCells.size() / 2]).doubleValue());
41
      }
42
      else {
43
         return NO_DATA;
44
      }
45

    
46
   }
47

    
48
}