diff options
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/visualization/svg')
16 files changed, 70 insertions, 77 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGArrow.java b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGArrow.java index 3859deb5..cbae03e2 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGArrow.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGArrow.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.svg; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 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/svg/SVGButton.java b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGButton.java index 9d71c3d6..9b69ab14 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGButton.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGButton.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.svg; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 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/svg/SVGCheckbox.java b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGCheckbox.java index b6cf1165..dc27b989 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGCheckbox.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGCheckbox.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.svg; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 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/svg/SVGCloneVisible.java b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGCloneVisible.java index 749720ee..6397348c 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGCloneVisible.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGCloneVisible.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.svg; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 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/svg/SVGEffects.java b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGEffects.java index 79565902..9382e0b6 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGEffects.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGEffects.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.svg; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 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/svg/SVGHyperCube.java b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGHyperCube.java index 656e42da..64f5e9be 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGHyperCube.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGHyperCube.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.svg; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -125,7 +125,7 @@ public class SVGHyperCube { */ private static ArrayList<double[]> getVisibleEdges(Projection2D proj, double[] s_min, double[] s_max) { double[] s_deltas = VMath.minus(s_max, s_min); - ArrayList<double[]> r_edges = new ArrayList<double[]>(); + ArrayList<double[]> r_edges = new ArrayList<>(); for(int i = 0; i < s_min.length; i++) { double[] delta = new double[s_min.length]; delta[i] = s_deltas[i]; diff --git a/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGHyperSphere.java b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGHyperSphere.java index 33daa56b..14acc5c3 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGHyperSphere.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGHyperSphere.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.svg; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -50,28 +50,26 @@ public class SVGHyperSphere { /** * Wireframe "manhattan" hypersphere * - * @param <D> radius * @param svgp SVG Plot * @param proj Visualization projection * @param mid mean vector - * @param rad radius + * @param radius radius * @return path element */ - public static <D extends NumberDistance<?, ?>> Element drawManhattan(SVGPlot svgp, Projection2D proj, NumberVector<?> mid, D rad) { - final double radius = rad.doubleValue(); + public static Element drawManhattan(SVGPlot svgp, Projection2D proj, NumberVector<?> mid, double radius) { final double[] v_mid = mid.getColumnVector().getArrayRef(); // a copy final BitSet dims = proj.getVisibleDimensions2D(); SVGPath path = new SVGPath(); - for(int dim = dims.nextSetBit(0); dim >= 0; dim = dims.nextSetBit(dim + 1)) { + for (int dim = dims.nextSetBit(0); dim >= 0; dim = dims.nextSetBit(dim + 1)) { v_mid[dim] += radius; double[] p1 = proj.fastProjectDataToRenderSpace(v_mid); v_mid[dim] -= radius; v_mid[dim] -= radius; double[] p2 = proj.fastProjectDataToRenderSpace(v_mid); v_mid[dim] += radius; - for(int dim2 = dims.nextSetBit(0); dim2 >= 0; dim2 = dims.nextSetBit(dim2 + 1)) { - if(dim < dim2) { + for (int dim2 = dims.nextSetBit(0); dim2 >= 0; dim2 = dims.nextSetBit(dim2 + 1)) { + if (dim < dim2) { v_mid[dim2] += radius; double[] p3 = proj.fastProjectDataToRenderSpace(v_mid); v_mid[dim2] -= radius; @@ -97,20 +95,18 @@ public class SVGHyperSphere { /** * Wireframe "euclidean" hypersphere * - * @param <D> radius * @param svgp SVG Plot * @param proj Visualization projection * @param mid mean vector - * @param rad radius + * @param radius radius * @return path element */ - public static <D extends NumberDistance<?, ?>> Element drawEuclidean(SVGPlot svgp, Projection2D proj, NumberVector<?> mid, D rad) { - final double radius = rad.doubleValue(); + public static Element drawEuclidean(SVGPlot svgp, Projection2D proj, NumberVector<?> mid, double radius) { double[] v_mid = mid.getColumnVector().getArrayRef(); // a copy BitSet dims = proj.getVisibleDimensions2D(); SVGPath path = new SVGPath(); - for(int dim = dims.nextSetBit(0); dim >= 0; dim = dims.nextSetBit(dim + 1)) { + for (int dim = dims.nextSetBit(0); dim >= 0; dim = dims.nextSetBit(dim + 1)) { v_mid[dim] += radius; double[] p1 = proj.fastProjectDataToRenderSpace(v_mid); v_mid[dim] -= radius; @@ -121,8 +117,8 @@ public class SVGHyperSphere { double[] dt1 = new double[v_mid.length]; dt1[dim] = radius; double[] d1 = proj.fastProjectRelativeDataToRenderSpace(dt1); - for(int dim2 = dims.nextSetBit(0); dim2 >= 0; dim2 = dims.nextSetBit(dim2 + 1)) { - if(dim < dim2) { + for (int dim2 = dims.nextSetBit(0); dim2 >= 0; dim2 = dims.nextSetBit(dim2 + 1)) { + if (dim < dim2) { v_mid[dim2] += radius; double[] p3 = proj.fastProjectDataToRenderSpace(v_mid); v_mid[dim2] -= radius; @@ -149,38 +145,34 @@ public class SVGHyperSphere { /** * Wireframe "Lp" hypersphere * - * @param <D> radius * @param svgp SVG Plot * @param proj Visualization projection * @param mid mean vector - * @param rad radius + * @param radius radius * @param p L_p value * @return path element */ - public static <D extends NumberDistance<?, ?>> Element drawLp(SVGPlot svgp, Projection2D proj, NumberVector<?> mid, D rad, double p) { - final double radius = rad.doubleValue(); + public static Element drawLp(SVGPlot svgp, Projection2D proj, NumberVector<?> mid, double radius, double p) { final double[] v_mid = mid.getColumnVector().getArrayRef(); final BitSet dims = proj.getVisibleDimensions2D(); final double kappax, kappay; - if(p > 1.) { + if (p > 1.) { final double kappal = Math.pow(0.5, 1. / p); kappax = Math.min(1.3, 4. * (2 * kappal - 1) / 3.); kappay = 0; - } - else if(p < 1.) { + } else if (p < 1.) { final double kappal = 1 - Math.pow(0.5, 1. / p); kappax = 0; kappay = Math.min(1.3, 4. * (2 * kappal - 1) / 3.); - } - else { + } else { kappax = 0; kappay = 0; } // LoggingUtil.warning("kappax: " + kappax + " kappay: " + kappay); SVGPath path = new SVGPath(); - for(int dim = dims.nextSetBit(0); dim >= 0; dim = dims.nextSetBit(dim + 1)) { + for (int dim = dims.nextSetBit(0); dim >= 0; dim = dims.nextSetBit(dim + 1)) { v_mid[dim] += radius; double[] pvp0 = proj.fastProjectDataToRenderSpace(v_mid); v_mid[dim] -= radius; @@ -191,8 +183,8 @@ public class SVGHyperSphere { double[] tvd0 = new double[v_mid.length]; tvd0[dim] = radius; double[] vd0 = proj.fastProjectRelativeDataToRenderSpace(tvd0); - for(int dim2 = dims.nextSetBit(0); dim2 >= 0; dim2 = dims.nextSetBit(dim2 + 1)) { - if(dim < dim2) { + for (int dim2 = dims.nextSetBit(0); dim2 >= 0; dim2 = dims.nextSetBit(dim2 + 1)) { + if (dim < dim2) { v_mid[dim2] += radius; double[] pv0p = proj.fastProjectDataToRenderSpace(v_mid); v_mid[dim2] -= radius; @@ -204,7 +196,7 @@ public class SVGHyperSphere { tv0d[dim2] = radius; double[] v0d = proj.fastProjectRelativeDataToRenderSpace(tv0d); - if(p > 1) { + if (p > 1) { // p > 1 path.moveTo(pvp0[0], pvp0[1]); // support points, p0 to 0p @@ -232,8 +224,7 @@ public class SVGHyperSphere { final double s_pm2_y = pvp0[1] - v0d[1] * kappax; path.cubicTo(s_pm1_x, s_pm1_y, s_pm2_x, s_pm2_y, pvp0[0], pvp0[1]); path.close(); - } - else if(p < 1) { + } else if (p < 1) { // p < 1 // support points, p0 to 0p final double s_vp0_x = pvp0[0] - vd0[0] * kappay; @@ -251,8 +242,7 @@ public class SVGHyperSphere { path.cubicTo(s_vm0_x, s_vm0_y, s_v0m_x, s_v0m_y, pv0m[0], pv0m[1]); path.cubicTo(s_v0m_x, s_v0m_y, s_vp0_x, s_vp0_y, pvp0[0], pvp0[1]); path.close(); - } - else { + } else { // p == 1 - Manhattan path.moveTo(pvp0[0], pvp0[1]); path.lineTo(pv0p[0], pv0p[1]); @@ -283,7 +273,7 @@ public class SVGHyperSphere { final BitSet dims = proj.getVisibleDimensions2D(); SVGPath path = new SVGPath(); - for(int dim = dims.nextSetBit(0); dim >= 0; dim = dims.nextSetBit(dim + 1)) { + for (int dim = dims.nextSetBit(0); dim >= 0; dim = dims.nextSetBit(dim + 1)) { v_mid[dim] += radius; double[] p1 = proj.fastProjectDataToRenderSpace(v_mid); v_mid[dim] -= radius; @@ -296,4 +286,4 @@ public class SVGHyperSphere { } return path.makeElement(svgp); } -}
\ No newline at end of file +} diff --git a/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGPath.java b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGPath.java index 7c3e97e9..6937ab3e 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGPath.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGPath.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.svg; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -27,7 +27,9 @@ import org.apache.batik.util.SVGConstants; import org.w3c.dom.Document; import org.w3c.dom.Element; +import de.lmu.ifi.dbs.elki.data.spatial.Polygon; import de.lmu.ifi.dbs.elki.math.linearalgebra.Vector; +import de.lmu.ifi.dbs.elki.utilities.datastructures.iterator.ArrayListIter; /** * Element used for building an SVG path using a string buffer. @@ -132,9 +134,10 @@ public class SVGPath { * * @param vectors vectors */ - public SVGPath(Iterable<Vector> vectors) { + public SVGPath(Polygon vectors) { this(); - for(Vector vec : vectors) { + for (ArrayListIter<Vector> it = vectors.iter(); it.valid(); it.advance()) { + Vector vec = it.get(); this.drawTo(vec.get(0), vec.get(1)); } this.close(); @@ -151,10 +154,9 @@ public class SVGPath { * @return path object, for compact syntax. */ public SVGPath drawTo(double x, double y) { - if(!isStarted()) { + if (!isStarted()) { moveTo(x, y); - } - else { + } else { lineTo(x, y); } return this; @@ -170,10 +172,9 @@ public class SVGPath { * @return path object, for compact syntax. */ public SVGPath drawTo(double[] xy) { - if(!isStarted()) { + if (!isStarted()) { moveTo(xy); - } - else { + } else { lineTo(xy); } return this; @@ -189,10 +190,9 @@ public class SVGPath { * @return path object, for compact syntax. */ public SVGPath drawTo(Vector xy) { - if(!isStarted()) { + if (!isStarted()) { moveTo(xy); - } - else { + } else { lineTo(xy); } return this; @@ -788,11 +788,11 @@ public class SVGPath { * @param ds coordinates. */ private void append(String action, double... ds) { - if(lastaction != action) { + if (lastaction != action) { buf.append(action); lastaction = action; } - for(double d : ds) { + for (double d : ds) { buf.append(SVGUtil.FMT.format(d)); buf.append(' '); } @@ -804,7 +804,7 @@ public class SVGPath { * @return path object, for compact syntax. */ public SVGPath close() { - if(lastaction != SVGConstants.PATH_CLOSE) { + if (lastaction != SVGConstants.PATH_CLOSE) { buf.append(SVGConstants.PATH_CLOSE); lastaction = SVGConstants.PATH_CLOSE; } @@ -842,4 +842,4 @@ public class SVGPath { public String toString() { return buf.toString(); } -}
\ No newline at end of file +} diff --git a/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGPlot.java b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGPlot.java index 43244047..44ec906b 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGPlot.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGPlot.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.svg; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -119,7 +119,7 @@ public class SVGPlot { /** * Manage objects with an id. */ - private HashMap<String, WeakReference<Element>> objWithId = new HashMap<String, WeakReference<Element>>(); + private HashMap<String, WeakReference<Element>> objWithId = new HashMap<>(); /** * Registers changes of this SVGPlot. @@ -581,7 +581,7 @@ public class SVGPlot { * @param obj Element */ public void putIdElement(String id, Element obj) { - objWithId.put(id, new WeakReference<Element>(obj)); + objWithId.put(id, new WeakReference<>(obj)); } /** diff --git a/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGScoreBar.java b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGScoreBar.java index 3af2ea41..e421cafa 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGScoreBar.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGScoreBar.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.svg; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 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/svg/SVGSimpleLinearAxis.java b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGSimpleLinearAxis.java index 930e9e8e..3fd28d3d 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGSimpleLinearAxis.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGSimpleLinearAxis.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.svg; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 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/svg/SVGUtil.java b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGUtil.java index 633cb3e5..0e680e12 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGUtil.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/svg/SVGUtil.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.svg; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -43,6 +43,7 @@ import org.w3c.dom.svg.SVGMatrix; import org.w3c.dom.svg.SVGPoint; import de.lmu.ifi.dbs.elki.logging.LoggingUtil; +import de.lmu.ifi.dbs.elki.math.MathUtil; /** * Utility class for SVG processing. @@ -87,7 +88,7 @@ public final class SVGUtil { static { // Build a reasonably sized hashmap. Use 0 - SVG_COLOR_NAMES = new TObjectIntHashMap<String>(90, .8f, NO_VALUE); + SVG_COLOR_NAMES = new TObjectIntHashMap<>(90, .8f, NO_VALUE); // List taken from SVG specification: // http://www.w3.org/TR/SVG/types.html#ColorKeywords SVG_COLOR_NAMES.put("aliceblue", 0xFFF0F8FF); @@ -512,18 +513,20 @@ public final class SVGUtil { } /** - * Convert a color name from an AWT color object to CSS syntax + * Convert a color name from an integer RGB color to CSS syntax * - * Note: currently only RGB (from ARGB order) are supported. + * Note: currently only RGB (from ARGB order) are supported. The alpha channel + * will be ignored. * * @param col Color value * @return Color string */ public static String colorToString(int col) { - char[] buf = new char[] { '#', '0', '0', '0', '0', '0', '0' }; - for (int i = 7; i > 0; i--) { - buf[i] += (col & 0xF); - col >>= 4; + final char[] buf = new char[] { '#', 'X', 'X', 'X', 'X', 'X', 'X' }; + for (int i = 6; i > 0; i--) { + final int v = (col & 0xF); + buf[i] = (char) ((v < 10) ? ('0' + v) : ('a' + v - 10)); + col >>>= 4; } return new String(buf); } @@ -642,10 +645,10 @@ public final class SVGUtil { */ public static Element svgCircleSegment(SVGPlot svgp, double centerx, double centery, double angleStart, double angleDelta, double innerRadius, double outerRadius) { double sin1st = Math.sin(angleStart); - double cos1st = Math.cos(angleStart); + double cos1st = MathUtil.sinToCos(angleStart, sin1st); double sin2nd = Math.sin(angleStart + angleDelta); - double cos2nd = Math.cos(angleStart + angleDelta); + double cos2nd = MathUtil.sinToCos(angleStart + angleDelta, sin2nd); double inner1stx = centerx + (innerRadius * sin1st); double inner1sty = centery - (innerRadius * cos1st); diff --git a/src/de/lmu/ifi/dbs/elki/visualization/svg/UpdateRunner.java b/src/de/lmu/ifi/dbs/elki/visualization/svg/UpdateRunner.java index 463c7c63..edf40621 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/svg/UpdateRunner.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/svg/UpdateRunner.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.svg; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team @@ -46,7 +46,7 @@ public class UpdateRunner { /** * The queue of pending updates */ - final private Queue<Runnable> queue = new ConcurrentLinkedQueue<Runnable>(); + final private Queue<Runnable> queue = new ConcurrentLinkedQueue<>(); /** * Synchronizer that can block events from being executed right away. diff --git a/src/de/lmu/ifi/dbs/elki/visualization/svg/UpdateSynchronizer.java b/src/de/lmu/ifi/dbs/elki/visualization/svg/UpdateSynchronizer.java index 3f249871..a91fb142 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/svg/UpdateSynchronizer.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/svg/UpdateSynchronizer.java @@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.visualization.svg; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 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/svg/VoronoiDraw.java b/src/de/lmu/ifi/dbs/elki/visualization/svg/VoronoiDraw.java index 2997456d..e5824fba 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/svg/VoronoiDraw.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/svg/VoronoiDraw.java @@ -3,7 +3,7 @@ package de.lmu.ifi.dbs.elki.visualization.svg; This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures - Copyright (C) 2012 + Copyright (C) 2013 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/svg/package-info.java b/src/de/lmu/ifi/dbs/elki/visualization/svg/package-info.java index 7811b493..7f816cff 100644 --- a/src/de/lmu/ifi/dbs/elki/visualization/svg/package-info.java +++ b/src/de/lmu/ifi/dbs/elki/visualization/svg/package-info.java @@ -6,7 +6,7 @@ This file is part of ELKI: Environment for Developing KDD-Applications Supported by Index-Structures -Copyright (C) 2012 +Copyright (C) 2013 Ludwig-Maximilians-Universität München Lehr- und Forschungseinheit für Datenbanksysteme ELKI Development Team |