jip
Class JIPFunction

java.lang.Object
  |
  +--jip.JIPFunction
Direct Known Subclasses:
FAddPoint, FAddSegment, FBinarize, FBrightness, FCanny, FColorToGray, FContrast, FConvolveAscii, FConvolveImage, FCrop, FEqualize, FFlip, FGamma, FGeoToGray, FGrad, FGrayToGray, FHistogram, FInterSegment, FLink, FMag, FMaximum, FMinimum, FMirror, FNegate, FNoise, FOp, FPhase, FPixelate, FRandomPoint, FRandomSegment, FRotate, FScale, FSegEdges, FSharpen, FSharpenMore, FSkeleton, FSkew, FSmoothAverage, FSmoothGaussian, FSmoothMedian, FSmoothRadial, FUser3x3, FUser5x5, FWaveHoriz, FWaveVert

public abstract class JIPFunction
extends java.lang.Object

Descripción:
Clase base para definir objetos función. Una función se utilizará para procesar de cierto modo una imagen o secuencia de entrada devolviendo otra imagen o secuencia de salida y opcionalmente otros resultados adicionales. Una función puede o no tener parámetros o resultados asociados y conocer o asignar sus valores actuales o por defecto. A los parámetros y resultados se accederá por su nombre. Además una función tiene asignado un nombre y una descripción de la operación que realiza sobre la imagen de entrada. No podremos crear directamente objetos de la clase función, tendremos que crear subclases de ésta que al heredar implementen como mínimo el constructor (que debe asignar el nombre, la descripción, los parámetros y los resultados) y el método processImg() que será el que ante una imagen de entrada y los parámetros de la función, devuelva una imagen de salida y los resultados adicionales.

See Also:
JIPParameter

Field Summary
protected  java.lang.String description
          Variable que contendrá la descripción de la función.
protected  java.lang.String name
          Variable que contendrá el nombre de la función.
protected  java.util.Vector params
          Variable que contendrá un Vector de parámetros de la función.
protected  java.util.Vector results
          Variable que contendrá un Vector de parámetros de salida (resultados) de la función.
 
Constructor Summary
JIPFunction()
           Descripción:
Constructor de una función.
 
Method Summary
 java.lang.String getDescription()
           Descripción:
Obtiene la descripción de la función.
 java.lang.String getName()
           Descripción:
Obtiene el nombre de la función.
 int getNumParams()
           Descripción:
Obtiene el número de parámetros de la función.
 int getNumResults()
           Descripción:
Obtiene el número de resultados de la función.
 java.lang.String getParamDescr(java.lang.String nom)
           Descripción:
Obtiene la descripción de un parámetro de la función.
 java.lang.String[] getParamNames()
           Descripción:
Obtiene los nombres de todos los parámetros de la función.
 int getParamType(java.lang.String nom)
           Descripción:
Obtiene el tipo de un parámetro de la función.
 boolean getParamValueBool(java.lang.String nom)
           Descripción:
Obtiene el valor booleano asignado a un parámetro de la función.
 JIPImage getParamValueImg(java.lang.String nom)
           Descripción:
Obtiene el valor imagen asignado a un parámetro de la función.
 int getParamValueInt(java.lang.String nom)
           Descripción:
Obtiene el valor entero asignado a un parámetro de la función.
 float getParamValueReal(java.lang.String nom)
           Descripción:
Obtiene el valor real asignado a un parámetro de la función.
 java.lang.String getParamValueStr(java.lang.String nom)
           Descripción:
Obtiene el valor string asignado a un parámetro de la función.
 java.lang.String getResultDescr(java.lang.String nom)
           Descripción:
Obtiene la descripción de un resultado de la función.
 java.lang.String[] getResultNames()
           Descripción:
Obtiene los nombres de todos los resultados de la función.
 int getResultType(java.lang.String nom)
           Descripción:
Obtiene el tipo de un resultado de la función.
 boolean getResultValueBool(java.lang.String nom)
           Descripción:
Obtiene el valor booleano asignado a un resultado de la función.
 JIPImage getResultValueImg(java.lang.String nom)
           Descripción:
Obtiene el valor imagen asignado a un resultado de la función.
 int getResultValueInt(java.lang.String nom)
           Descripción:
Obtiene el valor entero asignado a un resultado de la función.
 float getResultValueReal(java.lang.String nom)
           Descripción:
Obtiene el valor real asignado a un resultado de la función.
 java.lang.String getResultValueStr(java.lang.String nom)
           Descripción:
Obtiene el valor string asignado a un resultado de la función.
 boolean isParam(java.lang.String nom)
           Descripción:
Nos dice si existe o no un parámetro de la función con cierto nombre.
 boolean isParamAsigned(java.lang.String nom)
           Descripción:
Nos dice si un parámetro de la función tiene valor asignado.
 boolean isParamRequired(java.lang.String nom)
           Descripción:
Nos dice si un parámetro de la función es requerido.
 boolean isResult(java.lang.String nom)
           Descripción:
Nos dice si existe o no un resultado de la función con cierto nombre.
 boolean isResultAsigned(java.lang.String nom)
           Descripción:
Nos dice si un resultado de la función tiene valor asignado.
 boolean isResultRequired(java.lang.String nom)
           Descripción:
Nos dice si un resultado de la función es requerido.
 boolean paramsOK()
           Descripción:
Chequea si todos los parámetros requeridos de la función tienen valor asignado.
abstract  JIPImage processImg(JIPImage img)
           Descripción:
Obtiene una imagen de salida a partir de una de entrada.
 JIPSequence processSeq(JIPSequence seq)
           Descripción:
Obtiene una secuencia de salida a partir de una de entrada.
 void setParamValue(java.lang.String nom, boolean v)
           Descripción:
Asigna a un parámetro de la función un valor booleano.
 void setParamValue(java.lang.String nom, float v)
           Descripción:
Asigna a un parámetro de la función un valor real.
 void setParamValue(java.lang.String nom, int v)
           Descripción:
Asigna a un parámetro de la función un valor entero.
 void setParamValue(java.lang.String nom, JIPImage img)
           Descripción:
Asigna a un parámetro de la función un valor imagen.
 void setParamValue(java.lang.String nom, java.lang.String v)
           Descripción:
Asigna a un parámetro de la función un valor string.
 void setResultValue(java.lang.String nom, boolean v)
           Descripción:
Asigna a un resultado de la función un valor booleano.
 void setResultValue(java.lang.String nom, float v)
           Descripción:
Asigna a un resultado de la función un valor real.
 void setResultValue(java.lang.String nom, int v)
           Descripción:
Asigna a un resultado de la función un valor entero.
 void setResultValue(java.lang.String nom, JIPImage img)
           Descripción:
Asigna a un resultado de la función un valor imagen.
 void setResultValue(java.lang.String nom, java.lang.String v)
           Descripción:
Asigna a un resultado de la función un valor string.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

name

protected java.lang.String name
Variable que contendrá el nombre de la función. Sólo será accesible desde las clases derivadas que deberán asignar esta variable en su constructor.

description

protected java.lang.String description
Variable que contendrá la descripción de la función. Sólo será accesible desde las clases derivadas que deberán asignar esta variable en su constructor.

params

protected java.util.Vector params
Variable que contendrá un Vector de parámetros de la función. Sólo será accesible desde las clases derivadas que deberán asignar esta variable en su constructor para definir parámetros de la función.

results

protected java.util.Vector results
Variable que contendrá un Vector de parámetros de salida (resultados) de la función. Sólo será accesible desde las clases derivadas que deberán asignar esta variable en su constructor para definir resultados de la función.
Constructor Detail

JIPFunction

public JIPFunction()

Descripción:
Constructor de una función. La clase derivada debe implementarlo asignando las variables name, description, params y results.

Method Detail

getName

public java.lang.String getName()

Descripción:
Obtiene el nombre de la función.

Returns:
Nombre de la función.

getDescription

public java.lang.String getDescription()

Descripción:
Obtiene la descripción de la función.

Returns:
Descripción de la función.

processImg

public abstract JIPImage processImg(JIPImage img)

Descripción:
Obtiene una imagen de salida a partir de una de entrada. Este método lo debe implementar la clase derivada y es el que diferenciará unas funciones de otras. Si la función tiene parámetros se deberán asignar antes los valores de los requeridos como mínimo, de forma que este método pueda acceder a los valores correctos de los mismos. Si la función tiene resultados deberán asignarse sus valores en este método de forma que posteriormente se pueda acceder a los valores correctos de los mismos.

Parameters:
img - Imagen de entrada.
Returns:
Imagen de salida.

processSeq

public JIPSequence processSeq(JIPSequence seq)

Descripción:
Obtiene una secuencia de salida a partir de una de entrada. Este método por defecto obtiene la secuencia de salida aplicando una a una el método processImg() a cada una de las imágenes de la secuencia de entrada. En el caso de las imágenes de entrada en las que processImg() devuelva null, la imagen en la secuencia de salida será una copia de la de entrada. Este comportamiento por defecto se puede cambiar reimplementando el método en la clase derivada. En el caso de que la función genere resultados adicionales, tras éste método sólo tendremos los correspondientes al último frame de la secuencia. Este comportamiento por defecto se puede cambiar reimplementando el método para que acceda a los resultados de cada frame tras su proceso y los vaya acumulando, mostrando, almacenando, ...

Parameters:
seq - Secuencia de entrada.
Returns:
Secuencia de salida.

getNumParams

public int getNumParams()

Descripción:
Obtiene el número de parámetros de la función.

Returns:
Número de parámetros.

getNumResults

public int getNumResults()

Descripción:
Obtiene el número de resultados de la función.

Returns:
Número de resultados.

getParamNames

public java.lang.String[] getParamNames()

Descripción:
Obtiene los nombres de todos los parámetros de la función.

Returns:
Vector con los nombres de los parámetros de la función. null si la función no tiene parámetros.

getResultNames

public java.lang.String[] getResultNames()

Descripción:
Obtiene los nombres de todos los resultados de la función.

Returns:
Vector con los nombres de los resultados de la función. null si la función no tiene resultados.

isParam

public boolean isParam(java.lang.String nom)

Descripción:
Nos dice si existe o no un parámetro de la función con cierto nombre.

Parameters:
nom - Nombre a verificar si es o no un parámetro de la función.
Returns:
true si la función tiene un parámetro con nombre nom. false en caso contrario.

isResult

public boolean isResult(java.lang.String nom)

Descripción:
Nos dice si existe o no un resultado de la función con cierto nombre.

Parameters:
nom - Nombre a verificar si es o no un resultado de la función.
Returns:
true si la función tiene un resultado con nombre nom. false en caso contrario.

isParamRequired

public boolean isParamRequired(java.lang.String nom)

Descripción:
Nos dice si un parámetro de la función es requerido.

Parameters:
nom - Nombre a verificar si es o no un parámetro requerido.
Returns:
true si la función tiene un parámetro con nombre nom y éste es requerido. false en caso contrario.

isResultRequired

public boolean isResultRequired(java.lang.String nom)

Descripción:
Nos dice si un resultado de la función es requerido.

Parameters:
nom - Nombre a verificar si es o no un resultado requerido.
Returns:
true si la función tiene un resultado con nombre nom y éste es requerido. false en caso contrario.

isParamAsigned

public boolean isParamAsigned(java.lang.String nom)

Descripción:
Nos dice si un parámetro de la función tiene valor asignado.

Parameters:
nom - Nombre a verificar si es o no un parámetro con valor asignado.
Returns:
true si la función tiene un parámetro con nombre nom y éste tiene valor asignado. false en caso contrario.

isResultAsigned

public boolean isResultAsigned(java.lang.String nom)

Descripción:
Nos dice si un resultado de la función tiene valor asignado.

Parameters:
nom - Nombre a verificar si es o no un resultado con valor asignado.
Returns:
true si la función tiene un resultado con nombre nom y éste tiene valor asignado. false en caso contrario.

getParamType

public int getParamType(java.lang.String nom)

Descripción:
Obtiene el tipo de un parámetro de la función.

Parameters:
nom - Nombre del parámetro del cual devolver su tipo.
Returns:
Tipo del parámetro de nombre nom. -1 si el parámetro nom no existe.

getResultType

public int getResultType(java.lang.String nom)

Descripción:
Obtiene el tipo de un resultado de la función.

Parameters:
nom - Nombre del resultado del cual devolver su tipo.
Returns:
Tipo del resultado de nombre nom. -1 si el resultado nom no existe.

getParamDescr

public java.lang.String getParamDescr(java.lang.String nom)

Descripción:
Obtiene la descripción de un parámetro de la función.

Parameters:
nom - Nombre del parámetro del cual devolver su descripción.
Returns:
Descripción del parámetro de nombre nom. null si el parámetro nom no existe.

getResultDescr

public java.lang.String getResultDescr(java.lang.String nom)

Descripción:
Obtiene la descripción de un resultado de la función.

Parameters:
nom - Nombre del resultado del cual devolver su descripción.
Returns:
Descripción del resultado de nombre nom. null si el resultado nom no existe.

setParamValue

public void setParamValue(java.lang.String nom,
                          boolean v)

Descripción:
Asigna a un parámetro de la función un valor booleano.

Parameters:
nom - Nombre del parámetro a asignar (debe existir y ser de tipo pBOOL)
v - Valor a asignar.

setParamValue

public void setParamValue(java.lang.String nom,
                          int v)

Descripción:
Asigna a un parámetro de la función un valor entero.

Parameters:
nom - Nombre del parámetro a asignar (debe existir y ser de tipo pINT)
v - Valor a asignar.

setParamValue

public void setParamValue(java.lang.String nom,
                          float v)

Descripción:
Asigna a un parámetro de la función un valor real.

Parameters:
nom - Nombre del parámetro a asignar (debe existir y ser de tipo pREAL)
v - Valor a asignar.

setParamValue

public void setParamValue(java.lang.String nom,
                          java.lang.String v)

Descripción:
Asigna a un parámetro de la función un valor string.

Parameters:
nom - Nombre del parámetro a asignar (debe existir y ser de tipo pSTRING)
v - Valor a asignar.

setParamValue

public void setParamValue(java.lang.String nom,
                          JIPImage img)

Descripción:
Asigna a un parámetro de la función un valor imagen.

Parameters:
nom - Nombre del parámetro a asignar (debe existir y ser de tipo pIMAGE)
img - Imagen a asignar.

getParamValueBool

public boolean getParamValueBool(java.lang.String nom)

Descripción:
Obtiene el valor booleano asignado a un parámetro de la función.

Parameters:
nom - Nombre del parámetro (debe existir y ser de tipo pBOOL)
Returns:
Valor asignado al parámetro. Si el parámetro no está asignado y no es requerido se devuelve el valor asignado por defecto.

getParamValueInt

public int getParamValueInt(java.lang.String nom)

Descripción:
Obtiene el valor entero asignado a un parámetro de la función.

Parameters:
nom - Nombre del parámetro (debe existir y ser de tipo pINT)
Returns:
Valor asignado al parámetro. Si el parámetro no está asignado y no es requerido se devuelve el valor asignado por defecto.

getParamValueReal

public float getParamValueReal(java.lang.String nom)

Descripción:
Obtiene el valor real asignado a un parámetro de la función.

Parameters:
nom - Nombre del parámetro (debe existir y ser de tipo pREAL)
Returns:
Valor asignado al parámetro. Si el parámetro no está asignado y no es requerido se devuelve el valor asignado por defecto.

getParamValueStr

public java.lang.String getParamValueStr(java.lang.String nom)

Descripción:
Obtiene el valor string asignado a un parámetro de la función.

Parameters:
nom - Nombre del parámetro (debe existir y ser de tipo pSTRING)
Returns:
Valor asignado al parámetro. Si el parámetro no está asignado y no es requerido se devuelve el valor asignado por defecto.

getParamValueImg

public JIPImage getParamValueImg(java.lang.String nom)

Descripción:
Obtiene el valor imagen asignado a un parámetro de la función.

Parameters:
nom - Nombre del parámetro (debe existir y ser de tipo pIMAGE)
Returns:
Valor asignado al parámetro. Si el parámetro no está asignado y no es requerido se devuelve el valor asignado por defecto.

setResultValue

public void setResultValue(java.lang.String nom,
                           boolean v)

Descripción:
Asigna a un resultado de la función un valor booleano.

Parameters:
nom - Nombre del resultado a asignar (debe existir y ser de tipo pBOOL)
v - Valor a asignar.

setResultValue

public void setResultValue(java.lang.String nom,
                           int v)

Descripción:
Asigna a un resultado de la función un valor entero.

Parameters:
nom - Nombre del resultado a asignar (debe existir y ser de tipo pINT)
v - Valor a asignar.

setResultValue

public void setResultValue(java.lang.String nom,
                           float v)

Descripción:
Asigna a un resultado de la función un valor real.

Parameters:
nom - Nombre del resultado a asignar (debe existir y ser de tipo pREAL)
v - Valor a asignar.

setResultValue

public void setResultValue(java.lang.String nom,
                           java.lang.String v)

Descripción:
Asigna a un resultado de la función un valor string.

Parameters:
nom - Nombre del resultado a asignar (debe existir y ser de tipo pSTRING)
v - Valor a asignar.

setResultValue

public void setResultValue(java.lang.String nom,
                           JIPImage img)

Descripción:
Asigna a un resultado de la función un valor imagen.

Parameters:
nom - Nombre del resultado a asignar (debe existir y ser de tipo pIMAGE)
img - Imagen a asignar.

getResultValueBool

public boolean getResultValueBool(java.lang.String nom)

Descripción:
Obtiene el valor booleano asignado a un resultado de la función.

Parameters:
nom - Nombre del resultado (debe existir y ser de tipo pBOOL)
Returns:
Valor asignado al resultado. Si el resultado no está asignado y no es requerido se devuelve el valor asignado por defecto.

getResultValueInt

public int getResultValueInt(java.lang.String nom)

Descripción:
Obtiene el valor entero asignado a un resultado de la función.

Parameters:
nom - Nombre del resultado (debe existir y ser de tipo pINT)
Returns:
Valor asignado al resultado. Si el resultado no está asignado y no es requerido se devuelve el valor asignado por defecto.

getResultValueReal

public float getResultValueReal(java.lang.String nom)

Descripción:
Obtiene el valor real asignado a un resultado de la función.

Parameters:
nom - Nombre del resultado (debe existir y ser de tipo pREAL)
Returns:
Valor asignado al resultado. Si el resultado no está asignado y no es requerido se devuelve el valor asignado por defecto.

getResultValueStr

public java.lang.String getResultValueStr(java.lang.String nom)

Descripción:
Obtiene el valor string asignado a un resultado de la función.

Parameters:
nom - Nombre del resultado (debe existir y ser de tipo pSTRING)
Returns:
Valor asignado al resultado. Si el resultado no está asignado y no es requerido se devuelve el valor asignado por defecto.

getResultValueImg

public JIPImage getResultValueImg(java.lang.String nom)

Descripción:
Obtiene el valor imagen asignado a un resultado de la función.

Parameters:
nom - Nombre del resultado (debe existir y ser de tipo pIMAGE)
Returns:
Valor asignado al resultado. Si el resultado no está asignado y no es requerido se devuelve el valor asignado por defecto.

paramsOK

public boolean paramsOK()

Descripción:
Chequea si todos los parámetros requeridos de la función tienen valor asignado.

Returns:
true si todos los parámetros requeridos de la función tienen valor asignado o si la función no tiene parámetros. false en caso contrario.