summaryrefslogtreecommitdiff
path: root/src/de/lmu/ifi/dbs/elki/visualization/projector
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/visualization/projector')
-rw-r--r--src/de/lmu/ifi/dbs/elki/visualization/projector/HistogramFactory.java6
-rw-r--r--src/de/lmu/ifi/dbs/elki/visualization/projector/HistogramProjector.java4
-rw-r--r--src/de/lmu/ifi/dbs/elki/visualization/projector/OPTICSProjector.java22
-rw-r--r--src/de/lmu/ifi/dbs/elki/visualization/projector/OPTICSProjectorFactory.java13
-rw-r--r--src/de/lmu/ifi/dbs/elki/visualization/projector/ParallelPlotFactory.java4
-rw-r--r--src/de/lmu/ifi/dbs/elki/visualization/projector/ParallelPlotProjector.java4
-rw-r--r--src/de/lmu/ifi/dbs/elki/visualization/projector/Projector.java2
-rw-r--r--src/de/lmu/ifi/dbs/elki/visualization/projector/ProjectorFactory.java5
-rw-r--r--src/de/lmu/ifi/dbs/elki/visualization/projector/ScatterPlotFactory.java6
-rw-r--r--src/de/lmu/ifi/dbs/elki/visualization/projector/ScatterPlotProjector.java4
10 files changed, 36 insertions, 34 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/visualization/projector/HistogramFactory.java b/src/de/lmu/ifi/dbs/elki/visualization/projector/HistogramFactory.java
index 894bd264..fa4be47c 100644
--- a/src/de/lmu/ifi/dbs/elki/visualization/projector/HistogramFactory.java
+++ b/src/de/lmu/ifi/dbs/elki/visualization/projector/HistogramFactory.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.projector;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2013
+ Copyright (C) 2014
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -66,9 +66,9 @@ public class HistogramFactory implements ProjectorFactory {
for(Relation<?> rel : rels) {
if(TypeUtil.NUMBER_VECTOR_FIELD.isAssignableFromType(rel.getDataTypeInformation())) {
@SuppressWarnings("unchecked")
- Relation<NumberVector<?>> vrel = (Relation<NumberVector<?>>) rel;
+ Relation<NumberVector> vrel = (Relation<NumberVector>) rel;
final int dim = RelationUtil.dimensionality(vrel);
- HistogramProjector<NumberVector<?>> proj = new HistogramProjector<>(vrel, Math.min(dim, maxdim));
+ HistogramProjector<NumberVector> proj = new HistogramProjector<>(vrel, Math.min(dim, maxdim));
baseResult.getHierarchy().add(vrel, proj);
}
}
diff --git a/src/de/lmu/ifi/dbs/elki/visualization/projector/HistogramProjector.java b/src/de/lmu/ifi/dbs/elki/visualization/projector/HistogramProjector.java
index 3503692c..49025ec5 100644
--- a/src/de/lmu/ifi/dbs/elki/visualization/projector/HistogramProjector.java
+++ b/src/de/lmu/ifi/dbs/elki/visualization/projector/HistogramProjector.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.projector;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2013
+ Copyright (C) 2014
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -50,7 +50,7 @@ import de.lmu.ifi.dbs.elki.visualization.visualizers.visunproj.LabelVisualizatio
*
* @param <V> Vector type
*/
-public class HistogramProjector<V extends NumberVector<?>> extends AbstractHierarchicalResult implements Projector {
+public class HistogramProjector<V extends NumberVector> extends AbstractHierarchicalResult implements Projector {
/**
* Relation we project.
*/
diff --git a/src/de/lmu/ifi/dbs/elki/visualization/projector/OPTICSProjector.java b/src/de/lmu/ifi/dbs/elki/visualization/projector/OPTICSProjector.java
index 832184f0..a3b4f4b5 100644
--- a/src/de/lmu/ifi/dbs/elki/visualization/projector/OPTICSProjector.java
+++ b/src/de/lmu/ifi/dbs/elki/visualization/projector/OPTICSProjector.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.projector;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2013
+ Copyright (C) 2014
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -27,10 +27,10 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import de.lmu.ifi.dbs.elki.distance.distancevalue.Distance;
+import de.lmu.ifi.dbs.elki.algorithm.clustering.optics.ClusterOrderEntry;
+import de.lmu.ifi.dbs.elki.algorithm.clustering.optics.ClusterOrderResult;
import de.lmu.ifi.dbs.elki.result.AbstractHierarchicalResult;
import de.lmu.ifi.dbs.elki.result.ResultUtil;
-import de.lmu.ifi.dbs.elki.result.optics.ClusterOrderResult;
import de.lmu.ifi.dbs.elki.visualization.VisualizationTask;
import de.lmu.ifi.dbs.elki.visualization.VisualizerContext;
import de.lmu.ifi.dbs.elki.visualization.gui.overview.PlotItem;
@@ -41,24 +41,26 @@ import de.lmu.ifi.dbs.elki.visualization.projections.OPTICSProjection;
* Projection for OPTICS plots.
*
* @author Erich Schubert
+ *
+ * @param <E> Cluster order entry type
*/
-public class OPTICSProjector<D extends Distance<D>> extends AbstractHierarchicalResult implements Projector {
+public class OPTICSProjector<E extends ClusterOrderEntry<?>> extends AbstractHierarchicalResult implements Projector {
/**
* Cluster order result
*/
- private ClusterOrderResult<D> clusterOrder;
+ private ClusterOrderResult<E> clusterOrder;
/**
* OPTICS plot image
*/
- private OPTICSPlot<D> plot = null;
+ private OPTICSPlot<E> plot = null;
/**
* Constructor.
*
* @param co Cluster order
*/
- public OPTICSProjector(ClusterOrderResult<D> co) {
+ public OPTICSProjector(ClusterOrderResult<E> co) {
super();
this.clusterOrder = co;
}
@@ -77,7 +79,7 @@ public class OPTICSProjector<D extends Distance<D>> extends AbstractHierarchical
public Collection<PlotItem> arrange() {
List<PlotItem> col = new ArrayList<>(1);
List<VisualizationTask> tasks = ResultUtil.filterResults(this, VisualizationTask.class);
- if (tasks.size() > 0) {
+ if(tasks.size() > 0) {
final PlotItem it = new PlotItem(4., 1., new OPTICSProjection<>(this));
it.tasks = tasks;
col.add(it);
@@ -90,7 +92,7 @@ public class OPTICSProjector<D extends Distance<D>> extends AbstractHierarchical
*
* @return the cluster order
*/
- public ClusterOrderResult<D> getResult() {
+ public ClusterOrderResult<E> getResult() {
return clusterOrder;
}
@@ -100,7 +102,7 @@ public class OPTICSProjector<D extends Distance<D>> extends AbstractHierarchical
* @param context Context to use
* @return Plot
*/
- public OPTICSPlot<D> getOPTICSPlot(VisualizerContext context) {
+ public OPTICSPlot<E> getOPTICSPlot(VisualizerContext context) {
if(plot == null) {
plot = OPTICSPlot.plotForClusterOrder(clusterOrder, context);
}
diff --git a/src/de/lmu/ifi/dbs/elki/visualization/projector/OPTICSProjectorFactory.java b/src/de/lmu/ifi/dbs/elki/visualization/projector/OPTICSProjectorFactory.java
index 797c4031..155f0d07 100644
--- a/src/de/lmu/ifi/dbs/elki/visualization/projector/OPTICSProjectorFactory.java
+++ b/src/de/lmu/ifi/dbs/elki/visualization/projector/OPTICSProjectorFactory.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.projector;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2013
+ Copyright (C) 2014
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -25,11 +25,12 @@ package de.lmu.ifi.dbs.elki.visualization.projector;
import java.util.Collection;
-import de.lmu.ifi.dbs.elki.distance.distancevalue.DoubleDistance;
+import de.lmu.ifi.dbs.elki.algorithm.clustering.optics.ClusterOrderEntry;
+import de.lmu.ifi.dbs.elki.algorithm.clustering.optics.ClusterOrderResult;
+import de.lmu.ifi.dbs.elki.algorithm.clustering.optics.DoubleDistanceClusterOrderEntry;
import de.lmu.ifi.dbs.elki.result.HierarchicalResult;
import de.lmu.ifi.dbs.elki.result.Result;
import de.lmu.ifi.dbs.elki.result.ResultUtil;
-import de.lmu.ifi.dbs.elki.result.optics.ClusterOrderResult;
import de.lmu.ifi.dbs.elki.visualization.opticsplot.OPTICSPlot;
/**
@@ -49,11 +50,11 @@ public class OPTICSProjectorFactory implements ProjectorFactory {
@Override
public void processNewResult(HierarchicalResult baseResult, Result newResult) {
- Collection<ClusterOrderResult<?>> cos = ResultUtil.filterResults(newResult, ClusterOrderResult.class);
- for(ClusterOrderResult<?> co : cos) {
+ Collection<ClusterOrderResult<? extends ClusterOrderEntry<?>>> cos = ResultUtil.filterResults(newResult, ClusterOrderResult.class);
+ for(ClusterOrderResult<? extends ClusterOrderEntry<?>> co : cos) {
if(OPTICSPlot.canPlot(co)) {
@SuppressWarnings("unchecked")
- OPTICSProjector<?> proj = new OPTICSProjector<>((ClusterOrderResult<DoubleDistance>) co);
+ OPTICSProjector<?> proj = new OPTICSProjector<>((ClusterOrderResult<DoubleDistanceClusterOrderEntry>) co);
baseResult.getHierarchy().add(co, proj);
}
}
diff --git a/src/de/lmu/ifi/dbs/elki/visualization/projector/ParallelPlotFactory.java b/src/de/lmu/ifi/dbs/elki/visualization/projector/ParallelPlotFactory.java
index e744ae5b..07a05ff0 100644
--- a/src/de/lmu/ifi/dbs/elki/visualization/projector/ParallelPlotFactory.java
+++ b/src/de/lmu/ifi/dbs/elki/visualization/projector/ParallelPlotFactory.java
@@ -54,8 +54,8 @@ public class ParallelPlotFactory implements ProjectorFactory {
// TODO: multi-relational parallel plots
if(TypeUtil.NUMBER_VECTOR_FIELD.isAssignableFromType(rel.getDataTypeInformation())) {
@SuppressWarnings("unchecked")
- Relation<NumberVector<?>> vrel = (Relation<NumberVector<?>>) rel;
- ParallelPlotProjector<NumberVector<?>> proj = new ParallelPlotProjector<>(vrel);
+ Relation<NumberVector> vrel = (Relation<NumberVector>) rel;
+ ParallelPlotProjector<NumberVector> proj = new ParallelPlotProjector<>(vrel);
baseResult.getHierarchy().add(vrel, proj);
}
}
diff --git a/src/de/lmu/ifi/dbs/elki/visualization/projector/ParallelPlotProjector.java b/src/de/lmu/ifi/dbs/elki/visualization/projector/ParallelPlotProjector.java
index bc981924..31a86534 100644
--- a/src/de/lmu/ifi/dbs/elki/visualization/projector/ParallelPlotProjector.java
+++ b/src/de/lmu/ifi/dbs/elki/visualization/projector/ParallelPlotProjector.java
@@ -47,7 +47,7 @@ import de.lmu.ifi.dbs.elki.visualization.projections.SimpleParallel;
* @param <V> Vector type
*/
// TODO: support categorical features, and multiple relations too
-public class ParallelPlotProjector<V extends NumberVector<?>> extends AbstractHierarchicalResult implements Projector {
+public class ParallelPlotProjector<V extends NumberVector> extends AbstractHierarchicalResult implements Projector {
/**
* Relation we project.
*/
@@ -71,7 +71,7 @@ public class ParallelPlotProjector<V extends NumberVector<?>> extends AbstractHi
ScalesResult scales = ResultUtil.getScalesResult(rel);
ProjectionParallel proj = new SimpleParallel(scales.getScales());
- final double width = Math.ceil(Math.log(scales.getScales().length) / MathUtil.LOG2);
+ final double width = Math.ceil(MathUtil.log2(scales.getScales().length));
final PlotItem it = new PlotItem(width, 1., proj);
it.tasks = tasks;
col.add(it);
diff --git a/src/de/lmu/ifi/dbs/elki/visualization/projector/Projector.java b/src/de/lmu/ifi/dbs/elki/visualization/projector/Projector.java
index 8febb94b..a323b914 100644
--- a/src/de/lmu/ifi/dbs/elki/visualization/projector/Projector.java
+++ b/src/de/lmu/ifi/dbs/elki/visualization/projector/Projector.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.projector;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2013
+ Copyright (C) 2014
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
diff --git a/src/de/lmu/ifi/dbs/elki/visualization/projector/ProjectorFactory.java b/src/de/lmu/ifi/dbs/elki/visualization/projector/ProjectorFactory.java
index 25a9ddc1..b5424442 100644
--- a/src/de/lmu/ifi/dbs/elki/visualization/projector/ProjectorFactory.java
+++ b/src/de/lmu/ifi/dbs/elki/visualization/projector/ProjectorFactory.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.projector;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2013
+ Copyright (C) 2014
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -26,7 +26,6 @@ package de.lmu.ifi.dbs.elki.visualization.projector;
import de.lmu.ifi.dbs.elki.result.HierarchicalResult;
import de.lmu.ifi.dbs.elki.result.Result;
import de.lmu.ifi.dbs.elki.result.ResultProcessor;
-import de.lmu.ifi.dbs.elki.utilities.optionhandling.Parameterizable;
/**
* A projector is responsible for adding projections to the visualization by
@@ -36,7 +35,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.Parameterizable;
*
* @apiviz.has Projector
*/
-public interface ProjectorFactory extends ResultProcessor, Parameterizable {
+public interface ProjectorFactory extends ResultProcessor {
/**
* Add projections for the given result (tree) to the result tree.
*
diff --git a/src/de/lmu/ifi/dbs/elki/visualization/projector/ScatterPlotFactory.java b/src/de/lmu/ifi/dbs/elki/visualization/projector/ScatterPlotFactory.java
index f1d61698..de41b85a 100644
--- a/src/de/lmu/ifi/dbs/elki/visualization/projector/ScatterPlotFactory.java
+++ b/src/de/lmu/ifi/dbs/elki/visualization/projector/ScatterPlotFactory.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.projector;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2013
+ Copyright (C) 2014
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -74,9 +74,9 @@ public class ScatterPlotFactory implements ProjectorFactory {
for(Relation<?> rel : rels) {
if(TypeUtil.NUMBER_VECTOR_FIELD.isAssignableFromType(rel.getDataTypeInformation())) {
@SuppressWarnings("unchecked")
- Relation<NumberVector<?>> vrel = (Relation<NumberVector<?>>) rel;
+ Relation<NumberVector> vrel = (Relation<NumberVector>) rel;
final int dim = RelationUtil.dimensionality(vrel);
- ScatterPlotProjector<NumberVector<?>> proj = new ScatterPlotProjector<>(vrel, Math.min(maxdim, dim));
+ ScatterPlotProjector<NumberVector> proj = new ScatterPlotProjector<>(vrel, Math.min(maxdim, dim));
baseResult.getHierarchy().add(vrel, proj);
}
}
diff --git a/src/de/lmu/ifi/dbs/elki/visualization/projector/ScatterPlotProjector.java b/src/de/lmu/ifi/dbs/elki/visualization/projector/ScatterPlotProjector.java
index 84035058..9c6c2bbe 100644
--- a/src/de/lmu/ifi/dbs/elki/visualization/projector/ScatterPlotProjector.java
+++ b/src/de/lmu/ifi/dbs/elki/visualization/projector/ScatterPlotProjector.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.projector;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2013
+ Copyright (C) 2014
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -52,7 +52,7 @@ import de.lmu.ifi.dbs.elki.visualization.visualizers.visunproj.LabelVisualizatio
*
* @param <V> Vector type
*/
-public class ScatterPlotProjector<V extends NumberVector<?>> extends AbstractHierarchicalResult implements Projector {
+public class ScatterPlotProjector<V extends NumberVector> extends AbstractHierarchicalResult implements Projector {
/**
* Relation we project.
*/