infomat.algorithms.grouping
Class AppearanceRelativeClusterer

java.lang.Object
  extended by infomat.algorithms.grouping.GroupingAlgorithm
      extended by infomat.algorithms.grouping.AppearanceRelativeClusterer
All Implemented Interfaces:
NeedsIMatrix, NeedsIMatrixDimension, NeedsOtherIObjectGrouping, HasProperties, UniqueIdentifiable

public class AppearanceRelativeClusterer
extends GroupingAlgorithm
implements NeedsIMatrix, NeedsIMatrixDimension, NeedsOtherIObjectGrouping

The other IObjectGrouping should be along the other dimension.


Field Summary
private  IMatrix matrix
           
(package private)  IObjectGrouping otherIObjectGrouping
           
private static int relativeClusteringNumber
           
private  boolean row
           
 
Fields inherited from class infomat.algorithms.grouping.GroupingAlgorithm
identifier, printGroupSizesInIterations, properties
 
Constructor Summary
AppearanceRelativeClusterer()
           
 
Method Summary
 IObjectGrouping cluster(IObjectGroup iogroup)
          The algorithm clusters the opposite dimension specified in the ISimilarity.
private  IObjectGrouping constructRelativeGrouping(IObjectGroup iogroup, IObjectGrouping grouping, int type, boolean noSoFar)
           
private  IObjectGrouping constructRelativeGroupingWithExtraCommonGroup(IObjectGroup iogroup, IObjectGrouping grouping)
           
 java.lang.String getAlgorithmName()
           
 Properties getDefaultProperties()
           
 IMatrix getIMatrix()
          Returns the actual IMatrix.
 boolean getIMatrixDimension()
          Returns a boolean that indicates wether the algorithm should consider rows or columns of a matrix.
 java.lang.String getInfoString()
           
private  IObjectGrouping getOtherIObjectGrouping()
           
 Properties getProperties()
           
 java.lang.Object getPropertyValue(java.lang.String name)
           
 java.util.Vector getPropertyVector()
           
 UniqueIdentifier getUniqueIdentifier()
           
private  IObjectGrouping makeWeightGroupingAppearanceRelativeGroupingOfOtherSet(IObjectGroup iogroup, IObjectGrouping grouping)
           
 void setIMatrix(IMatrix matrix)
          Sets the IMatrix.
 void setIMatrixDimension(boolean row)
          Sets a boolean that indicates wether the algorithm should consider rows or columns of a matrix.
 void setOtherIObjectGrouping(IObjectGrouping grouping)
           
 void setProperties(Properties properties)
           
 void setProperty(java.lang.String name, java.lang.Object value)
           
 void setUniqueIdentifier(UniqueIdentifier uniqueIdentifier)
           
 
Methods inherited from class infomat.algorithms.grouping.GroupingAlgorithm
printGroup, printGroupSizes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

relativeClusteringNumber

private static int relativeClusteringNumber

matrix

private IMatrix matrix

row

private boolean row

otherIObjectGrouping

IObjectGrouping otherIObjectGrouping
Constructor Detail

AppearanceRelativeClusterer

public AppearanceRelativeClusterer()
Method Detail

getDefaultProperties

public Properties getDefaultProperties()
Specified by:
getDefaultProperties in interface HasProperties

cluster

public IObjectGrouping cluster(IObjectGroup iogroup)
The algorithm clusters the opposite dimension specified in the ISimilarity.

Specified by:
cluster in class GroupingAlgorithm

makeWeightGroupingAppearanceRelativeGroupingOfOtherSet

private IObjectGrouping makeWeightGroupingAppearanceRelativeGroupingOfOtherSet(IObjectGroup iogroup,
                                                                               IObjectGrouping grouping)

constructRelativeGrouping

private IObjectGrouping constructRelativeGrouping(IObjectGroup iogroup,
                                                  IObjectGrouping grouping,
                                                  int type,
                                                  boolean noSoFar)

constructRelativeGroupingWithExtraCommonGroup

private IObjectGrouping constructRelativeGroupingWithExtraCommonGroup(IObjectGroup iogroup,
                                                                      IObjectGrouping grouping)

getInfoString

public java.lang.String getInfoString()
Specified by:
getInfoString in class GroupingAlgorithm

getAlgorithmName

public java.lang.String getAlgorithmName()
Specified by:
getAlgorithmName in class GroupingAlgorithm

getPropertyVector

public java.util.Vector getPropertyVector()
Specified by:
getPropertyVector in class GroupingAlgorithm

getPropertyValue

public java.lang.Object getPropertyValue(java.lang.String name)
Specified by:
getPropertyValue in interface HasProperties

setProperty

public void setProperty(java.lang.String name,
                        java.lang.Object value)
                 throws PropertyNotFoundException
Specified by:
setProperty in interface HasProperties
Throws:
PropertyNotFoundException

getProperties

public Properties getProperties()
Specified by:
getProperties in interface HasProperties

setProperties

public void setProperties(Properties properties)
Specified by:
setProperties in interface HasProperties

getUniqueIdentifier

public UniqueIdentifier getUniqueIdentifier()
Specified by:
getUniqueIdentifier in interface UniqueIdentifiable

setUniqueIdentifier

public void setUniqueIdentifier(UniqueIdentifier uniqueIdentifier)
Specified by:
setUniqueIdentifier in interface UniqueIdentifiable

setIMatrix

public void setIMatrix(IMatrix matrix)
Description copied from interface: NeedsIMatrix
Sets the IMatrix.

Specified by:
setIMatrix in interface NeedsIMatrix

getIMatrix

public IMatrix getIMatrix()
Description copied from interface: NeedsIMatrix
Returns the actual IMatrix. (Not a copy.)

Specified by:
getIMatrix in interface NeedsIMatrix

setIMatrixDimension

public void setIMatrixDimension(boolean row)
Description copied from interface: NeedsIMatrixDimension
Sets a boolean that indicates wether the algorithm should consider rows or columns of a matrix. true - rows, false - columns

Specified by:
setIMatrixDimension in interface NeedsIMatrixDimension

getIMatrixDimension

public boolean getIMatrixDimension()
Description copied from interface: NeedsIMatrixDimension
Returns a boolean that indicates wether the algorithm should consider rows or columns of a matrix. true - rows, false - columns

Specified by:
getIMatrixDimension in interface NeedsIMatrixDimension

setOtherIObjectGrouping

public void setOtherIObjectGrouping(IObjectGrouping grouping)
Specified by:
setOtherIObjectGrouping in interface NeedsOtherIObjectGrouping

getOtherIObjectGrouping

private IObjectGrouping getOtherIObjectGrouping()