diff options
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveTransformer.java')
-rw-r--r-- | src/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveTransformer.java | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveTransformer.java b/src/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveTransformer.java index 108721eb..26137cb3 100644 --- a/src/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveTransformer.java +++ b/src/de/lmu/ifi/dbs/elki/math/spacefillingcurves/ZCurveTransformer.java @@ -30,7 +30,7 @@ import de.lmu.ifi.dbs.elki.data.NumberVector; import de.lmu.ifi.dbs.elki.database.ids.DBIDIter; import de.lmu.ifi.dbs.elki.database.ids.DBIDs; import de.lmu.ifi.dbs.elki.database.relation.Relation; -import de.lmu.ifi.dbs.elki.utilities.DatabaseUtil; +import de.lmu.ifi.dbs.elki.database.relation.RelationUtil; /** * Class to transform a relation to its Z coordinates. @@ -39,17 +39,17 @@ import de.lmu.ifi.dbs.elki.utilities.DatabaseUtil; */ public class ZCurveTransformer { /** - * Maximum values in each dimension + * Maximum values in each dimension. */ private final double[] maxValues; /** - * Minimum values in each dimension + * Minimum values in each dimension. */ private final double[] minValues; /** - * Dimensionality + * Dimensionality. */ private final int dimensionality; @@ -59,8 +59,8 @@ public class ZCurveTransformer { * @param relation Relation to transform * @param ids IDs subset to process */ - public ZCurveTransformer(Relation<? extends NumberVector<?, ?>> relation, DBIDs ids) { - this.dimensionality = DatabaseUtil.dimensionality(relation); + public ZCurveTransformer(Relation<? extends NumberVector<?>> relation, DBIDs ids) { + this.dimensionality = RelationUtil.dimensionality(relation); this.minValues = new double[dimensionality]; this.maxValues = new double[dimensionality]; @@ -68,9 +68,9 @@ public class ZCurveTransformer { Arrays.fill(minValues, Double.POSITIVE_INFINITY); Arrays.fill(maxValues, Double.NEGATIVE_INFINITY); for (DBIDIter iter = ids.iter(); iter.valid(); iter.advance()) { - NumberVector<?, ?> vector = relation.get(iter); + NumberVector<?> vector = relation.get(iter); for(int dim = 0; dim < dimensionality; ++dim) { - double dimValue = vector.doubleValue(dim + 1); + double dimValue = vector.doubleValue(dim); minValues[dim] = Math.min(minValues[dim], dimValue); maxValues[dim] = Math.max(maxValues[dim], dimValue); } @@ -84,7 +84,7 @@ public class ZCurveTransformer { * @return Z curve value as bigint */ @Deprecated - public BigInteger asBigInteger(NumberVector<?, ?> vector) { + public BigInteger asBigInteger(NumberVector<?> vector) { return new BigInteger(asByteArray(vector)); } @@ -94,13 +94,13 @@ public class ZCurveTransformer { * @param vector Vector to transform * @return Z curve value as byte array */ - public byte[] asByteArray(NumberVector<?, ?> vector) { + public byte[] asByteArray(NumberVector<?> vector) { final long[] longValueList = new long[dimensionality]; for(int dim = 0; dim < dimensionality; ++dim) { final double minValue = minValues[dim]; final double maxValue = maxValues[dim]; - double dimValue = vector.doubleValue(dim + 1); + double dimValue = vector.doubleValue(dim); dimValue = (dimValue - minValue) / (maxValue - minValue); longValueList[dim] = (long) (dimValue * (Long.MAX_VALUE)); @@ -120,5 +120,4 @@ public class ZCurveTransformer { } return bytes; } - }
\ No newline at end of file |