1
/***************************************************************************
2
qgsruggednessfilter.h - description
4
begin : August 7th, 2009
5
copyright : (C) 2009 by Marco Hugentobler
6
email : marco dot hugentobler at karto dot baug dot ethz dot ch
7
***************************************************************************/
9
/***************************************************************************
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
16
***************************************************************************/
18
#ifndef QGSRUGGEDNESSFILTER_H
19
#define QGSRUGGEDNESSFILTER_H
21
#include "qgsninecellfilter.h"
23
/**Calculates the ruggedness index based on a 3x3 moving window*/
24
class ANALYSIS_EXPORT QgsRuggednessFilter: public QgsNineCellFilter
27
QgsRuggednessFilter( const QString& inputFile, const QString& outputFile, const QString& outputFormat );
28
~QgsRuggednessFilter();
31
/**Calculates output value from nine input values. The input values and the output value can be equal to the \
32
nodata value if not present or outside of the border. Must be implemented by subclasses*/
33
float processNineCellWindow( float* x11, float* x21, float* x31, \
34
float* x12, float* x22, float* x32, float* x13, float* x23, float* x33 );
37
QgsRuggednessFilter();
40
#endif // QGSRUGGEDNESSFILTER_H