diff options
Diffstat (limited to 'elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves')
7 files changed, 20 insertions, 11 deletions
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/AbstractSpatialSorter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/AbstractSpatialSorter.java index 8c5a580f..7a9e4d31 100644 --- a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/AbstractSpatialSorter.java +++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/AbstractSpatialSorter.java @@ -31,6 +31,7 @@ import de.lmu.ifi.dbs.elki.data.spatial.SpatialComparable; * Abstract base class for spatial sorters, offering shared functionality. * * @author Erich Schubert + * @since 0.5.0 */ public abstract class AbstractSpatialSorter implements SpatialSorter { /** diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/BinarySplitSpatialSorter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/BinarySplitSpatialSorter.java index a1b8ea9b..e549c072 100644 --- a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/BinarySplitSpatialSorter.java +++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/BinarySplitSpatialSorter.java @@ -47,6 +47,7 @@ import de.lmu.ifi.dbs.elki.utilities.documentation.Reference; * </p> * * @author Erich Schubert + * @since 0.5.0 */ @Reference(authors = "J. L. Bentley", title = "Multidimensional binary search trees used for associative searching", booktitle = "Communications of the ACM, Vol. 18 Issue 9, Sept. 1975", url = "http://dx.doi.org/10.1145/361002.361007") public class BinarySplitSpatialSorter extends AbstractSpatialSorter { diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/HilbertSpatialSorter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/HilbertSpatialSorter.java index f3207233..b8eebf17 100644 --- a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/HilbertSpatialSorter.java +++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/HilbertSpatialSorter.java @@ -44,6 +44,7 @@ import de.lmu.ifi.dbs.elki.utilities.documentation.Reference; * </p> * * @author Erich Schubert + * @since 0.5.0 * * @apiviz.composedOf HilbertRef */ diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/PeanoSpatialSorter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/PeanoSpatialSorter.java index 490c9470..2b9f6982 100644 --- a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/PeanoSpatialSorter.java +++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/PeanoSpatialSorter.java @@ -31,9 +31,9 @@ import de.lmu.ifi.dbs.elki.utilities.documentation.Reference; /** * Bulk-load an R-tree index by presorting the objects with their position on * the Peano curve. - * + * * The basic shape of this space-filling curve looks like this: - * + * * <pre> * 3---4 9 * | | | @@ -41,14 +41,14 @@ import de.lmu.ifi.dbs.elki.utilities.documentation.Reference; * | | | * 1 6---7 * </pre> - * + * * Which then expands to the next level as: - * + * * <pre> * +-+ +-+ +-+ +-+ E * | | | | | | | | | * | +-+ +-+ | | +-+ - * | | | + * | | | * | +-+ +-+ | | +-+ * | | | | | | | | | * +-+ | | +-+ +-+ | @@ -57,19 +57,22 @@ import de.lmu.ifi.dbs.elki.utilities.documentation.Reference; * | | | | | | | | | * S +-+ +-+ +-+ +-+ * </pre> - * + * * and so on. - * + * * Reference: * <p> * G. Peano<br /> * Sur une courbe, qui remplit toute une aire plane<br /> * Mathematische Annalen, 36(1) * </p> - * + * * @author Erich Schubert + * @since 0.5.0 */ -@Reference(authors = "G. Peano", title = "Sur une courbe, qui remplit toute une aire plane", booktitle = "Mathematische Annalen, 36(1)") +@Reference(authors = "G. Peano", // +title = "Sur une courbe, qui remplit toute une aire plane", // +booktitle = "Mathematische Annalen, 36(1)") public class PeanoSpatialSorter extends AbstractSpatialSorter { /** * Constructor. @@ -80,12 +83,12 @@ public class PeanoSpatialSorter extends AbstractSpatialSorter { @Override public <T extends SpatialComparable> void sort(List<T> objs, int start, int end, double[] minmax, int[] dims) { - peanoSort(objs, start, end, minmax, dims, 0, BitsUtil.zero(dims.length), false); + peanoSort(objs, start, end, minmax, dims, 0, BitsUtil.zero(minmax.length >> 1), false); } /** * Sort by Peano curve. - * + * * @param objs Objects * @param start Start index * @param end End diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/SpatialSorter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/SpatialSorter.java index 0745729c..14139f97 100644 --- a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/SpatialSorter.java +++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/SpatialSorter.java @@ -31,6 +31,7 @@ import de.lmu.ifi.dbs.elki.data.spatial.SpatialComparable; * Interface for spatial sorting - ZCurves, Peano curves, Hilbert curves, ... * * @author Erich Schubert + * @since 0.5.0 */ public interface SpatialSorter { /** diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveSpatialSorter.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveSpatialSorter.java index d5fd10cf..08b68c5f 100644 --- a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveSpatialSorter.java +++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveSpatialSorter.java @@ -32,6 +32,7 @@ import de.lmu.ifi.dbs.elki.data.spatial.SpatialComparable; * materialization of the Z indexes. * * @author Erich Schubert + * @since 0.5.0 */ public class ZCurveSpatialSorter extends AbstractSpatialSorter { private static final double STOPVAL = 1E-10; diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveTransformer.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveTransformer.java index 29c8ae72..94a6b12c 100644 --- a/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveTransformer.java +++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveTransformer.java @@ -35,6 +35,7 @@ import de.lmu.ifi.dbs.elki.database.relation.RelationUtil; * Class to transform a relation to its Z coordinates. * * @author Erich Schubert + * @since 0.5.0 */ public class ZCurveTransformer { /** |