org.knime.base.node.mine.sota.logic
Class SotaFuzzyMath

java.lang.Object
  extended by org.knime.base.node.mine.sota.logic.SotaFuzzyMath

public final class SotaFuzzyMath
extends Object

Author:
Kilian Thiel, University of Konstanz

Method Summary
static double[] getCenterOfAllCoreRegions(DataRow cells, DataTableSpec spec)
          Computes the center vector of all core regions of the given FuzzyCells as a double array.
static double getCenterOfCoreRegion(FuzzyIntervalValue val)
          Computes the center of the FuzzyCells core region, by adding MaxCore and MinCore and dividing the result by 2.
static double getCoreDilatationToOtherCore(DataRow cells1, DataRow cells2, DataTableSpec spec)
          Computes the core dilatation of a core region to another core region.
static double getMaxCoreDilatation(DataRow cells, DataTableSpec spec)
          Approximates dilatation of Core region, by using Pythagoras.
static double getMaxCoreDilatation(FuzzyIntervalValue[] vals)
          Approximates dilatation of Core region, by using Pythagoras.
static double getMaxCoreDistanceToCenter(FuzzyIntervalValue val)
          Computes the maximal distance between the center of the core region and the end of the core region, by deviding difference of MaxCore and MinCore by 2, and returns it.
static int getNumberOfFuzzyCells(DataRow cells, DataTableSpec spec)
          Counts the number of FuzzyIntervalValues of given row and returns it.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getMaxCoreDistanceToCenter

public static double getMaxCoreDistanceToCenter(FuzzyIntervalValue val)
Computes the maximal distance between the center of the core region and the end of the core region, by deviding difference of MaxCore and MinCore by 2, and returns it.

Parameters:
val - the Fuzzy Cell Value to compute center of core region for
Returns:
the center of the given FuzzyCells core region

getCenterOfCoreRegion

public static double getCenterOfCoreRegion(FuzzyIntervalValue val)
Computes the center of the FuzzyCells core region, by adding MaxCore and MinCore and dividing the result by 2.

Parameters:
val - the Fuzzy Cell to compute center of gravity for
Returns:
the center of gravity of a core region

getMaxCoreDilatation

public static double getMaxCoreDilatation(FuzzyIntervalValue[] vals)
Approximates dilatation of Core region, by using Pythagoras. Dilatation d = (sum(ai))^(1/2), with ai = (Cmax - Cmin) / 2. If cell-array length is less or equal 0, than -1 is returned.

Parameters:
vals - array of cells of N-dimensional Fuzzy Set to approximate core dilatation
Returns:
core dilatation of given FuzzyIntervalCells. If cell-array length is less or equal 0, than -1 is returned.

getMaxCoreDilatation

public static double getMaxCoreDilatation(DataRow cells,
                                          DataTableSpec spec)
Approximates dilatation of Core region, by using Pythagoras. Dilatation d = (sum(ai))^(1/2), with ai = (Cmax - Cmin) / 2. -1 is returned if the given DataRow contains no FuzzyIntervalCells.

Parameters:
cells - row which contains FuzzyIntervalCells
spec - spec of the row, to see which cells are FuzzyIntervalCells
Returns:
core dilatation of given FuzzyIntervalCells. If the row contains no FuzzyIntervalCells -1 is returned.

getCenterOfAllCoreRegions

public static double[] getCenterOfAllCoreRegions(DataRow cells,
                                                 DataTableSpec spec)
Computes the center vector of all core regions of the given FuzzyCells as a double array. If the row contains no FuzzyCell null is returned.

Parameters:
cells - FuzzyCells to compute the center of the core regions
spec - DataTableSpec of rows, to see which cells are FuzzyIntervalCells
Returns:
the vector of the center of all core regions of the given FuzzyCells as a double array. If row contains no FuzzyCells null is returned.

getNumberOfFuzzyCells

public static int getNumberOfFuzzyCells(DataRow cells,
                                        DataTableSpec spec)
Counts the number of FuzzyIntervalValues of given row and returns it.

Parameters:
cells - DataRow to count number of FuzzyIntervalValues
spec - DataTableSpec of given row to get information about Types of cell in row
Returns:
the number of FuzzyIntervalValues of given row

getCoreDilatationToOtherCore

public static double getCoreDilatationToOtherCore(DataRow cells1,
                                                  DataRow cells2,
                                                  DataTableSpec spec)
Computes the core dilatation of a core region to another core region.

Parameters:
cells1 - core region to compute dilataion for
cells2 - core region which indicates the direction
spec - DataTableSpec of row to get information about types of DataCells
Returns:
dilatation of core region of cells1, with respect to the direction indicated by cells2


Copyright, 2003 - 2010. All rights reserved.
University of Konstanz, Germany.
Chair for Bioinformatics and Information Mining, Prof. Dr. Michael R. Berthold.
You may not modify, publish, transmit, transfer or sell, reproduce, create derivative works from, distribute, perform, display, or in any way exploit any of the content, in whole or in part, except as otherwise expressly permitted in writing by the copyright owner or as specified in the license file distributed with this product.