org.cresques.io.raster
Class PercentTailTrimFilter

java.lang.Object
  extended byorg.cresques.io.raster.RasterFilter
      extended byorg.cresques.io.raster.PercentTailTrimFilter
All Implemented Interfaces:
IRasterFilter
Direct Known Subclasses:
PercentTailTrimImageFilter, PercentTailTrimShortFilter

public abstract class PercentTailTrimFilter
extends RasterFilter

Filtro de recorte de colas. Este filtro toma pixels de la imagen (todos o algunas muestras dependiendo de la variable percentSample) y los ordena. Recorta un porcentaje controlado por tailPercenten ambos extremos del vector ordenado. El nuevo máximo y mínimo coinciden con el valor de la posición del vector recortado. Por arriba para el máximo y por abajo para el mínimo. El execute de este filtro no recorre toda la imagen sino que lo hace en función del porcentaje de muestras que quieren tomarse y calculando a partir de este porcentaje un incremento.

Author:
Nacho Brodin (brodin_ign@gva.es)

Field Summary
protected  int count
           
protected  java.util.ArrayList fileList
           
protected  int[] max
           
protected  int[] min
           
 double percentSamples
           
protected  int[][] sample
           
protected  double tailPercent
           
 
Fields inherited from class org.cresques.io.raster.RasterFilter
exec, height, image, incX, incY, params, px, raster, stats, width
 
Constructor Summary
PercentTailTrimFilter()
           
 
Method Summary
 java.lang.Object getResult(java.lang.String name)
          Obtiene el objeto stats con el máximo y mínimo calculado
 double getTailPercent()
          Obtiene el porcentaje de recorte
 void post()
          Ordena las muestras , recorta y asigna máximo y mínimo dependiendo del porcentaje de recorte
 void pre()
          Calcula el incremento de X y de Y para la toma de muestras en el calculo de valores para el recorte
 boolean removeMaxValue()
          Devuelve true si se eliminan los extremos de la serie antes del calculo del recorte de colas o false si no se eliminan.
 
Methods inherited from class org.cresques.io.raster.RasterFilter
addParam, execute, executeLines, getInRasterDataType, getOutRasterDataType, process, processLine
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

min

protected int[] min

max

protected int[] max

count

protected int count

sample

protected int[][] sample

tailPercent

protected double tailPercent

percentSamples

public double percentSamples

fileList

protected java.util.ArrayList fileList
Constructor Detail

PercentTailTrimFilter

public PercentTailTrimFilter()
Method Detail

pre

public void pre()
Calcula el incremento de X y de Y para la toma de muestras en el calculo de valores para el recorte

Specified by:
pre in interface IRasterFilter
Specified by:
pre in class RasterFilter

post

public void post()
Ordena las muestras , recorta y asigna máximo y mínimo dependiendo del porcentaje de recorte

Specified by:
post in interface IRasterFilter
Specified by:
post in class RasterFilter

getResult

public java.lang.Object getResult(java.lang.String name)
Obtiene el objeto stats con el máximo y mínimo calculado

Specified by:
getResult in interface IRasterFilter
Specified by:
getResult in class RasterFilter
Parameters:
name - clave para obtener un objeto resultado del filtro.

getTailPercent

public double getTailPercent()
Obtiene el porcentaje de recorte

Returns:
porcentaje de recorte

removeMaxValue

public boolean removeMaxValue()
Devuelve true si se eliminan los extremos de la serie antes del calculo del recorte de colas o false si no se eliminan.

Returns: