summaryrefslogtreecommitdiff
path: root/src/META-INF
diff options
context:
space:
mode:
Diffstat (limited to 'src/META-INF')
-rw-r--r--src/META-INF/MANIFEST.MF29
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm24
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.AbstractPrimitiveDistanceBasedAlgorithm3
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.Algorithm76
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.clustering.ClusteringAlgorithm21
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.clustering.OPTICSTypeAlgorithm4
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.clustering.kmeans.KMeansInitialization4
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.outlier.OutlierAlgorithm38
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.neighborhood.NeighborSetPredicate$Factory3
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.data.ClassLabel$Factory2
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.data.NumberVector10
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.data.images.ComputeColorHistogram3
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.database.Database3
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.database.UpdatableDatabase1
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.datasource.DatabaseConnection11
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.datasource.filter.ObjectFilter21
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.datasource.parser.Parser10
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractIndexBasedDistanceFunction7
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.DistanceFunction53
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.DoubleNorm10
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.FilteredLocalPCABasedDistanceFunction4
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.LocallyWeightedDistanceFunction1
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.NumberVectorDistanceFunction29
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.PrimitiveDistanceFunction36
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.PrimitiveDoubleDistanceFunction33
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.SpatialPrimitiveDistanceFunction15
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.SpatialPrimitiveDoubleDistanceFunction15
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.external.DistanceParser1
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.AbstractDimensionsSelectingDoubleDistanceFunction3
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.similarityfunction.NormalizedSimilarityFunction1
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.similarityfunction.PrimitiveSimilarityFunction4
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.similarityfunction.SimilarityFunction6
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.evaluation.Evaluator8
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.index.IndexFactory24
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.index.KNNIndex17
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.index.RKNNIndex6
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.index.RangeIndex10
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.LocalProjectionIndex$Factory4
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.knn.MaterializeKNNPreprocessor2
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.localpca.FilteredLocalPCAIndex$Factory2
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.preference.PreferenceVectorIndex$Factory2
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.snn.SharedNearestNeighborIndex$Factory1
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.subspaceproj.SubspaceProjectionIndex$Factory2
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.bulk.BulkSplit5
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.insert.InsertionStrategy5
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.overflow.OverflowTreatment2
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.split.SplitStrategy5
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.math.linearalgebra.pca.CovarianceMatrixBuilder2
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.math.linearalgebra.pca.EigenPairFilter9
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.math.linearalgebra.pca.PCAFilteredRunner2
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.math.linearalgebra.pca.weightfunctions.WeightFunction13
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.math.spacefillingcurves.SpatialSorter4
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.result.ResultHandler6
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.utilities.referencepoints.ReferencePointsHeuristic6
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.utilities.scaling.ScalingFunction19
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.utilities.scaling.StaticScalingFunction5
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.utilities.scaling.outlier.OutlierScalingFunction14
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.visualization.projector.ProjectorFactory4
-rw-r--r--src/META-INF/elki/de.lmu.ifi.dbs.elki.visualization.visualizers.VisFactory46
-rw-r--r--src/META-INF/services/org.apache.batik.ext.awt.image.spi.RegistryEntry1
-rw-r--r--src/META-INF/services/org.apache.batik.util.ParsedURLProtocolHandler1
61 files changed, 684 insertions, 24 deletions
diff --git a/src/META-INF/MANIFEST.MF b/src/META-INF/MANIFEST.MF
index 7ec310dc..1746b30f 100644
--- a/src/META-INF/MANIFEST.MF
+++ b/src/META-INF/MANIFEST.MF
@@ -167,27 +167,8 @@ Implementation-Version: 1.1
Implementation-Vendor: World Wide Web Consortium
Implementation-URL: http://www.w3.org/TR/SVG11/java.html
-Name: org/apache/avalon
-Comment: Apache Avalon from FOP PDF Transcoder package
-Implementation-Title: Apache Avalon
-Implementation-Vendor: Apache Software Foundation
-Implementation-URL: http://avalon.apache.org/
-
-Name: org/apache/fop
-Comment: FOP PDF Transcoder package for Apache Batik
-Implementation-Title: FOP PDF Transcoder package
-Implementation-Version: 1.0beta2
-Implementation-Vendor: Apache Software Foundation
-Implementation-URL: http://xmlgraphics.apache.org/fop/
-
-Name: org/apache/commons/io
-Comment: Apache Commons IO from FOP Transcoder package
-Implementation-Title: Apache Commons IO
-Implementation-Vendor: Apache Software Foundation
-Implementation-URL: http://commons.apache.org/io/
-
-Name: org/apache/commons/logging
-Comment: Apache Commons Logging from FOP Transcoder package
-Implementation-Title: Apache Commons Logging
-Implementation-Vendor: Apache Software Foundation
-Implementation-URL: http://commons.apache.org/logging/
+Name: gnu/trove
+Comment: GNU Trove
+Implementation-Title: Trove
+Implementation-Version: 3.0.1
+Implementation-URL: http://trove4j.sourceforge.net/
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm b/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm
new file mode 100644
index 00000000..dd8d4482
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm
@@ -0,0 +1,24 @@
+de.lmu.ifi.dbs.elki.algorithm.KNNDistanceOrder
+de.lmu.ifi.dbs.elki.algorithm.KNNJoin
+de.lmu.ifi.dbs.elki.algorithm.MaterializeDistances
+de.lmu.ifi.dbs.elki.algorithm.clustering.DBSCAN
+de.lmu.ifi.dbs.elki.algorithm.clustering.OPTICS
+de.lmu.ifi.dbs.elki.algorithm.clustering.DeLiClu
+de.lmu.ifi.dbs.elki.algorithm.clustering.SLINK
+de.lmu.ifi.dbs.elki.algorithm.clustering.correlation.HiCO
+de.lmu.ifi.dbs.elki.algorithm.clustering.subspace.HiSC
+de.lmu.ifi.dbs.elki.algorithm.outlier.ABOD
+de.lmu.ifi.dbs.elki.algorithm.outlier.DBOutlierDetection
+de.lmu.ifi.dbs.elki.algorithm.outlier.DBOutlierScore
+de.lmu.ifi.dbs.elki.algorithm.outlier.INFLO
+de.lmu.ifi.dbs.elki.algorithm.outlier.KNNOutlier
+de.lmu.ifi.dbs.elki.algorithm.outlier.KNNWeightOutlier
+de.lmu.ifi.dbs.elki.algorithm.outlier.LDOF
+de.lmu.ifi.dbs.elki.algorithm.outlier.LOCI
+de.lmu.ifi.dbs.elki.algorithm.outlier.OPTICSOF
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.CTLuGLSBackwardSearchAlgorithm
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.CTLuRandomWalkEC
+de.lmu.ifi.dbs.elki.algorithm.statistics.AveragePrecisionAtK
+de.lmu.ifi.dbs.elki.algorithm.statistics.RankingQualityHistogram
+de.lmu.ifi.dbs.elki.algorithm.statistics.DistanceStatisticsWithClasses
+de.lmu.ifi.dbs.elki.algorithm.statistics.EvaluateRankingQuality
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.AbstractPrimitiveDistanceBasedAlgorithm b/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.AbstractPrimitiveDistanceBasedAlgorithm
new file mode 100644
index 00000000..375277a4
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.AbstractPrimitiveDistanceBasedAlgorithm
@@ -0,0 +1,3 @@
+de.lmu.ifi.dbs.elki.algorithm.DependencyDerivator
+de.lmu.ifi.dbs.elki.algorithm.clustering.kmeans.KMeansLloyd
+de.lmu.ifi.dbs.elki.algorithm.clustering.kmeans.KMeansMacQueen
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.Algorithm b/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.Algorithm
new file mode 100644
index 00000000..466a746a
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.Algorithm
@@ -0,0 +1,76 @@
+de.lmu.ifi.dbs.elki.algorithm.NullAlgorithm
+de.lmu.ifi.dbs.elki.algorithm.clustering.DBSCAN
+de.lmu.ifi.dbs.elki.algorithm.clustering.DeLiClu
+de.lmu.ifi.dbs.elki.algorithm.clustering.EM
+de.lmu.ifi.dbs.elki.algorithm.clustering.kmeans.KMeansLloyd
+de.lmu.ifi.dbs.elki.algorithm.clustering.kmeans.KMeansMacQueen
+de.lmu.ifi.dbs.elki.algorithm.clustering.OPTICSXi
+de.lmu.ifi.dbs.elki.algorithm.clustering.OPTICS
+de.lmu.ifi.dbs.elki.algorithm.clustering.SLINK
+de.lmu.ifi.dbs.elki.algorithm.clustering.SNNClustering
+de.lmu.ifi.dbs.elki.algorithm.clustering.correlation.CASH
+de.lmu.ifi.dbs.elki.algorithm.clustering.correlation.COPAC
+de.lmu.ifi.dbs.elki.algorithm.clustering.correlation.ERiC
+de.lmu.ifi.dbs.elki.algorithm.clustering.correlation.FourC
+de.lmu.ifi.dbs.elki.algorithm.clustering.correlation.HiCO
+de.lmu.ifi.dbs.elki.algorithm.clustering.correlation.LMCLUS
+de.lmu.ifi.dbs.elki.algorithm.clustering.correlation.ORCLUS
+de.lmu.ifi.dbs.elki.algorithm.clustering.subspace.CLIQUE
+de.lmu.ifi.dbs.elki.algorithm.clustering.subspace.DiSH
+de.lmu.ifi.dbs.elki.algorithm.clustering.subspace.HiSC
+de.lmu.ifi.dbs.elki.algorithm.clustering.subspace.PreDeCon
+de.lmu.ifi.dbs.elki.algorithm.clustering.subspace.PROCLUS
+de.lmu.ifi.dbs.elki.algorithm.clustering.subspace.SUBCLU
+de.lmu.ifi.dbs.elki.algorithm.clustering.trivial.ByLabelClustering
+de.lmu.ifi.dbs.elki.algorithm.clustering.trivial.ByLabelHierarchicalClustering
+de.lmu.ifi.dbs.elki.algorithm.clustering.trivial.ByModelClustering
+de.lmu.ifi.dbs.elki.algorithm.clustering.trivial.TrivialAllInOne
+de.lmu.ifi.dbs.elki.algorithm.clustering.trivial.TrivialAllNoise
+de.lmu.ifi.dbs.elki.algorithm.outlier.ABOD
+de.lmu.ifi.dbs.elki.algorithm.outlier.AggarwalYuEvolutionary
+de.lmu.ifi.dbs.elki.algorithm.outlier.AggarwalYuNaive
+de.lmu.ifi.dbs.elki.algorithm.outlier.DBOutlierDetection
+de.lmu.ifi.dbs.elki.algorithm.outlier.DBOutlierScore
+de.lmu.ifi.dbs.elki.algorithm.outlier.EMOutlier
+de.lmu.ifi.dbs.elki.algorithm.outlier.GaussianModel
+de.lmu.ifi.dbs.elki.algorithm.outlier.GaussianUniformMixture
+de.lmu.ifi.dbs.elki.algorithm.outlier.INFLO
+de.lmu.ifi.dbs.elki.algorithm.outlier.KNNOutlier
+de.lmu.ifi.dbs.elki.algorithm.outlier.KNNWeightOutlier
+de.lmu.ifi.dbs.elki.algorithm.outlier.LDOF
+de.lmu.ifi.dbs.elki.algorithm.outlier.LOCI
+de.lmu.ifi.dbs.elki.algorithm.outlier.LOF
+de.lmu.ifi.dbs.elki.algorithm.outlier.LoOP
+de.lmu.ifi.dbs.elki.algorithm.outlier.OPTICSOF
+de.lmu.ifi.dbs.elki.algorithm.outlier.OUTRES
+de.lmu.ifi.dbs.elki.algorithm.outlier.ReferenceBasedOutlierDetection
+de.lmu.ifi.dbs.elki.algorithm.outlier.SOD
+de.lmu.ifi.dbs.elki.algorithm.outlier.OnlineLOF
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.CTLuGLSBackwardSearchAlgorithm
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.CTLuMeanMultipleAttributes
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.CTLuMedianAlgorithm
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.CTLuMedianMultipleAttributes
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.CTLuMoranScatterplotOutlier
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.CTLuRandomWalkEC
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.CTLuScatterplotOutlier
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.CTLuZTestOutlier
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.SLOM
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.SOF
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.TrimmedMeanApproach
+de.lmu.ifi.dbs.elki.algorithm.outlier.meta.ExternalDoubleOutlierScore
+de.lmu.ifi.dbs.elki.algorithm.outlier.meta.FeatureBagging
+de.lmu.ifi.dbs.elki.algorithm.outlier.meta.RescaleMetaOutlierAlgorithm
+de.lmu.ifi.dbs.elki.algorithm.outlier.trivial.ByLabelOutlier
+de.lmu.ifi.dbs.elki.algorithm.outlier.trivial.TrivialAllOutlier
+de.lmu.ifi.dbs.elki.algorithm.outlier.trivial.TrivialNoOutlier
+de.lmu.ifi.dbs.elki.algorithm.outlier.trivial.TrivialGeneratedOutlier
+de.lmu.ifi.dbs.elki.algorithm.statistics.AveragePrecisionAtK
+de.lmu.ifi.dbs.elki.algorithm.statistics.EvaluateRankingQuality
+de.lmu.ifi.dbs.elki.algorithm.statistics.RankingQualityHistogram
+de.lmu.ifi.dbs.elki.algorithm.statistics.DistanceStatisticsWithClasses
+# de.lmu.ifi.dbs.elki.algorithm.DummyAlgorithm
+de.lmu.ifi.dbs.elki.algorithm.APRIORI
+de.lmu.ifi.dbs.elki.algorithm.DependencyDerivator
+de.lmu.ifi.dbs.elki.algorithm.KNNDistanceOrder
+de.lmu.ifi.dbs.elki.algorithm.KNNJoin
+de.lmu.ifi.dbs.elki.algorithm.MaterializeDistances
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.clustering.ClusteringAlgorithm b/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.clustering.ClusteringAlgorithm
new file mode 100644
index 00000000..f429b53e
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.clustering.ClusteringAlgorithm
@@ -0,0 +1,21 @@
+de.lmu.ifi.dbs.elki.algorithm.clustering.DBSCAN
+de.lmu.ifi.dbs.elki.algorithm.clustering.EM
+de.lmu.ifi.dbs.elki.algorithm.clustering.kmeans.KMeansLloyd
+de.lmu.ifi.dbs.elki.algorithm.clustering.kmeans.KMeansMacQueen
+de.lmu.ifi.dbs.elki.algorithm.clustering.OPTICSXi
+de.lmu.ifi.dbs.elki.algorithm.clustering.SNNClustering
+de.lmu.ifi.dbs.elki.algorithm.clustering.correlation.CASH
+de.lmu.ifi.dbs.elki.algorithm.clustering.correlation.COPAC
+de.lmu.ifi.dbs.elki.algorithm.clustering.correlation.ERiC
+de.lmu.ifi.dbs.elki.algorithm.clustering.correlation.FourC
+de.lmu.ifi.dbs.elki.algorithm.clustering.correlation.ORCLUS
+de.lmu.ifi.dbs.elki.algorithm.clustering.subspace.CLIQUE
+de.lmu.ifi.dbs.elki.algorithm.clustering.subspace.DiSH
+de.lmu.ifi.dbs.elki.algorithm.clustering.subspace.PreDeCon
+de.lmu.ifi.dbs.elki.algorithm.clustering.subspace.PROCLUS
+de.lmu.ifi.dbs.elki.algorithm.clustering.subspace.SUBCLU
+de.lmu.ifi.dbs.elki.algorithm.clustering.trivial.ByLabelClustering
+de.lmu.ifi.dbs.elki.algorithm.clustering.trivial.ByLabelHierarchicalClustering
+de.lmu.ifi.dbs.elki.algorithm.clustering.trivial.ByModelClustering
+de.lmu.ifi.dbs.elki.algorithm.clustering.trivial.TrivialAllInOne
+de.lmu.ifi.dbs.elki.algorithm.clustering.trivial.TrivialAllNoise
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.clustering.OPTICSTypeAlgorithm b/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.clustering.OPTICSTypeAlgorithm
new file mode 100644
index 00000000..98ae4fdb
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.clustering.OPTICSTypeAlgorithm
@@ -0,0 +1,4 @@
+de.lmu.ifi.dbs.elki.algorithm.clustering.OPTICS
+de.lmu.ifi.dbs.elki.algorithm.clustering.DeLiClu
+de.lmu.ifi.dbs.elki.algorithm.clustering.correlation.HiCO
+de.lmu.ifi.dbs.elki.algorithm.clustering.subspace.HiSC
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.clustering.kmeans.KMeansInitialization b/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.clustering.kmeans.KMeansInitialization
new file mode 100644
index 00000000..b5006bd4
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.clustering.kmeans.KMeansInitialization
@@ -0,0 +1,4 @@
+de.lmu.ifi.dbs.elki.algorithm.clustering.kmeans.RandomlyGeneratedInitialMeans
+de.lmu.ifi.dbs.elki.algorithm.clustering.kmeans.RandomlyChosenInitialMeans
+de.lmu.ifi.dbs.elki.algorithm.clustering.kmeans.FirstKInitialMeans
+de.lmu.ifi.dbs.elki.algorithm.clustering.kmeans.KMeansPlusPlusInitialMeans
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.outlier.OutlierAlgorithm b/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.outlier.OutlierAlgorithm
new file mode 100644
index 00000000..14bb81fa
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.outlier.OutlierAlgorithm
@@ -0,0 +1,38 @@
+de.lmu.ifi.dbs.elki.algorithm.outlier.ABOD
+de.lmu.ifi.dbs.elki.algorithm.outlier.AggarwalYuEvolutionary
+de.lmu.ifi.dbs.elki.algorithm.outlier.AggarwalYuNaive
+de.lmu.ifi.dbs.elki.algorithm.outlier.DBOutlierDetection
+de.lmu.ifi.dbs.elki.algorithm.outlier.DBOutlierScore
+de.lmu.ifi.dbs.elki.algorithm.outlier.EMOutlier
+de.lmu.ifi.dbs.elki.algorithm.outlier.GaussianModel
+de.lmu.ifi.dbs.elki.algorithm.outlier.GaussianUniformMixture
+de.lmu.ifi.dbs.elki.algorithm.outlier.INFLO
+de.lmu.ifi.dbs.elki.algorithm.outlier.KNNOutlier
+de.lmu.ifi.dbs.elki.algorithm.outlier.KNNWeightOutlier
+de.lmu.ifi.dbs.elki.algorithm.outlier.LDOF
+de.lmu.ifi.dbs.elki.algorithm.outlier.LOCI
+de.lmu.ifi.dbs.elki.algorithm.outlier.LOF
+de.lmu.ifi.dbs.elki.algorithm.outlier.LoOP
+de.lmu.ifi.dbs.elki.algorithm.outlier.OPTICSOF
+de.lmu.ifi.dbs.elki.algorithm.outlier.OUTRES
+de.lmu.ifi.dbs.elki.algorithm.outlier.ReferenceBasedOutlierDetection
+de.lmu.ifi.dbs.elki.algorithm.outlier.SOD
+de.lmu.ifi.dbs.elki.algorithm.outlier.OnlineLOF
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.CTLuGLSBackwardSearchAlgorithm
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.CTLuMeanMultipleAttributes
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.CTLuMedianAlgorithm
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.CTLuMedianMultipleAttributes
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.CTLuMoranScatterplotOutlier
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.CTLuRandomWalkEC
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.CTLuScatterplotOutlier
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.CTLuZTestOutlier
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.SLOM
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.SOF
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.TrimmedMeanApproach
+de.lmu.ifi.dbs.elki.algorithm.outlier.meta.ExternalDoubleOutlierScore
+de.lmu.ifi.dbs.elki.algorithm.outlier.meta.FeatureBagging
+de.lmu.ifi.dbs.elki.algorithm.outlier.meta.RescaleMetaOutlierAlgorithm
+de.lmu.ifi.dbs.elki.algorithm.outlier.trivial.ByLabelOutlier
+de.lmu.ifi.dbs.elki.algorithm.outlier.trivial.TrivialAllOutlier
+de.lmu.ifi.dbs.elki.algorithm.outlier.trivial.TrivialNoOutlier
+de.lmu.ifi.dbs.elki.algorithm.outlier.trivial.TrivialGeneratedOutlier
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.neighborhood.NeighborSetPredicate$Factory b/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.neighborhood.NeighborSetPredicate$Factory
new file mode 100644
index 00000000..a68f645b
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.neighborhood.NeighborSetPredicate$Factory
@@ -0,0 +1,3 @@
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.neighborhood.ExtendedNeighborhood$Factory
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.neighborhood.ExternalNeighborhood$Factory
+de.lmu.ifi.dbs.elki.algorithm.outlier.spatial.neighborhood.PrecomputedKNearestNeighborNeighborhood$Factory
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.data.ClassLabel$Factory b/src/META-INF/elki/de.lmu.ifi.dbs.elki.data.ClassLabel$Factory
new file mode 100644
index 00000000..4282b1f1
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.data.ClassLabel$Factory
@@ -0,0 +1,2 @@
+de.lmu.ifi.dbs.elki.data.SimpleClassLabel$Factory
+de.lmu.ifi.dbs.elki.data.HierarchicalClassLabel$Factory
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.data.NumberVector b/src/META-INF/elki/de.lmu.ifi.dbs.elki.data.NumberVector
new file mode 100644
index 00000000..9ee14dab
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.data.NumberVector
@@ -0,0 +1,10 @@
+de.lmu.ifi.dbs.elki.data.DoubleVector
+de.lmu.ifi.dbs.elki.data.BitVector
+de.lmu.ifi.dbs.elki.data.FloatVector
+de.lmu.ifi.dbs.elki.data.IntegerVector
+de.lmu.ifi.dbs.elki.data.OneDimensionalDoubleVector
+de.lmu.ifi.dbs.elki.data.ParameterizationFunction
+de.lmu.ifi.dbs.elki.data.SparseFloatVector
+# de.lmu.ifi.dbs.elki.math.linearalgebra.Vector
+# de.lmu.ifi.dbs.elki.math.linearalgebra.Centroid
+# de.lmu.ifi.dbs.elki.math.linearalgebra.ProjectedCentroid \ No newline at end of file
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.data.images.ComputeColorHistogram b/src/META-INF/elki/de.lmu.ifi.dbs.elki.data.images.ComputeColorHistogram
new file mode 100644
index 00000000..94c65a07
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.data.images.ComputeColorHistogram
@@ -0,0 +1,3 @@
+de.lmu.ifi.dbs.elki.data.images.ComputeHSBColorHistogram
+de.lmu.ifi.dbs.elki.data.images.ComputeNaiveHSBColorHistogram
+de.lmu.ifi.dbs.elki.data.images.ComputeNaiveRGBColorHistogram
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.database.Database b/src/META-INF/elki/de.lmu.ifi.dbs.elki.database.Database
new file mode 100644
index 00000000..acb11415
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.database.Database
@@ -0,0 +1,3 @@
+de.lmu.ifi.dbs.elki.database.StaticArrayDatabase
+de.lmu.ifi.dbs.elki.database.HashmapDatabase
+# de.lmu.ifi.dbs.elki.database.ProxyDatabase
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.database.UpdatableDatabase b/src/META-INF/elki/de.lmu.ifi.dbs.elki.database.UpdatableDatabase
new file mode 100644
index 00000000..486453f7
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.database.UpdatableDatabase
@@ -0,0 +1 @@
+de.lmu.ifi.dbs.elki.database.HashmapDatabase
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.datasource.DatabaseConnection b/src/META-INF/elki/de.lmu.ifi.dbs.elki.datasource.DatabaseConnection
new file mode 100644
index 00000000..942dc71f
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.datasource.DatabaseConnection
@@ -0,0 +1,11 @@
+de.lmu.ifi.dbs.elki.datasource.FileBasedDatabaseConnection
+de.lmu.ifi.dbs.elki.datasource.ExternalIDJoinDatabaseConnection
+de.lmu.ifi.dbs.elki.datasource.LabelJoinDatabaseConnection
+de.lmu.ifi.dbs.elki.datasource.GeneratorXMLDatabaseConnection
+de.lmu.ifi.dbs.elki.datasource.RandomDoubleVectorDatabaseConnection
+de.lmu.ifi.dbs.elki.datasource.ConcatenateFilesDatabaseConnection
+de.lmu.ifi.dbs.elki.datasource.EmptyDatabaseConnection
+de.lmu.ifi.dbs.elki.datasource.DBIDRangeDatabaseConnection
+de.lmu.ifi.dbs.elki.datasource.PresortedBlindJoinDatabaseConnection
+# de.lmu.ifi.dbs.elki.datasource.InputStreamDatabaseConnection
+# de.lmu.ifi.dbs.elki.datasource.ArrayAdapterDatabaseConnection \ No newline at end of file
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.datasource.filter.ObjectFilter b/src/META-INF/elki/de.lmu.ifi.dbs.elki.datasource.filter.ObjectFilter
new file mode 100644
index 00000000..3c159ed2
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.datasource.filter.ObjectFilter
@@ -0,0 +1,21 @@
+de.lmu.ifi.dbs.elki.datasource.filter.ByLabelFilter
+de.lmu.ifi.dbs.elki.datasource.filter.ClassLabelFilter
+de.lmu.ifi.dbs.elki.datasource.filter.DoubleVectorProjectionFilter
+de.lmu.ifi.dbs.elki.datasource.filter.DoubleVectorRandomProjectionFilter
+de.lmu.ifi.dbs.elki.datasource.filter.ExternalIDFilter
+de.lmu.ifi.dbs.elki.datasource.filter.FixedDBIDsFilter
+de.lmu.ifi.dbs.elki.datasource.filter.NoOpFilter
+de.lmu.ifi.dbs.elki.datasource.filter.NoMissingValuesFilter
+de.lmu.ifi.dbs.elki.datasource.filter.ShuffleObjectsFilter
+de.lmu.ifi.dbs.elki.datasource.filter.SortByLabelFilter
+de.lmu.ifi.dbs.elki.datasource.filter.SparseFloatVectorProjectionFilter
+de.lmu.ifi.dbs.elki.datasource.filter.SparseFloatVectorRandomProjectionFilter
+de.lmu.ifi.dbs.elki.datasource.filter.SparseVectorFieldFilter
+de.lmu.ifi.dbs.elki.datasource.filter.SplitNumberVectorFilter
+de.lmu.ifi.dbs.elki.datasource.filter.normalization.AttributeWiseErfNormalization
+de.lmu.ifi.dbs.elki.datasource.filter.normalization.AttributeWiseMinMaxNormalization
+de.lmu.ifi.dbs.elki.datasource.filter.normalization.AttributeWiseVarianceNormalization
+de.lmu.ifi.dbs.elki.datasource.filter.normalization.LengthNormalization
+de.lmu.ifi.dbs.elki.datasource.filter.normalization.InverseDocumentFrequencyNormalization
+de.lmu.ifi.dbs.elki.datasource.filter.normalization.RankTieNormalization
+de.lmu.ifi.dbs.elki.datasource.filter.normalization.TFIDFNormalization
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.datasource.parser.Parser b/src/META-INF/elki/de.lmu.ifi.dbs.elki.datasource.parser.Parser
new file mode 100644
index 00000000..4002f056
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.datasource.parser.Parser
@@ -0,0 +1,10 @@
+de.lmu.ifi.dbs.elki.datasource.parser.NumberVectorLabelParser
+de.lmu.ifi.dbs.elki.datasource.parser.ArffParser
+de.lmu.ifi.dbs.elki.datasource.parser.DoubleVectorLabelParser
+de.lmu.ifi.dbs.elki.datasource.parser.FloatVectorLabelParser
+de.lmu.ifi.dbs.elki.datasource.parser.SparseBitVectorLabelParser
+de.lmu.ifi.dbs.elki.datasource.parser.SparseFloatVectorLabelParser
+de.lmu.ifi.dbs.elki.datasource.parser.TermFrequencyParser
+de.lmu.ifi.dbs.elki.datasource.parser.BitVectorLabelParser
+de.lmu.ifi.dbs.elki.datasource.parser.ParameterizationFunctionLabelParser
+de.lmu.ifi.dbs.elki.datasource.parser.SimplePolygonParser
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractIndexBasedDistanceFunction b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractIndexBasedDistanceFunction
new file mode 100644
index 00000000..3c32949a
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractIndexBasedDistanceFunction
@@ -0,0 +1,7 @@
+de.lmu.ifi.dbs.elki.distance.distancefunction.LocallyWeightedDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.SharedNearestNeighborJaccardDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.ERiCDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.PCABasedCorrelationDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.LocalSubspaceDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.DiSHDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.HiSCDistanceFunction
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.DistanceFunction b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.DistanceFunction
new file mode 100644
index 00000000..45c31e56
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.DistanceFunction
@@ -0,0 +1,53 @@
+de.lmu.ifi.dbs.elki.distance.distancefunction.EuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.ManhattanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.LPNormDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.MaximumDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.MinimumDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.ArcCosineDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.CosineDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.RandomStableDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.SquaredEuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.CanberraDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.JeffreyDivergenceDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.SharedNearestNeighborJaccardDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.LocallyWeightedDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.WeightedDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.MinKDistance
+# de.lmu.ifi.dbs.elki.distance.distancefunction.ProxyDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.WeightedLPNormDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.WeightedSquaredEuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.adapter.SimilarityAdapterArccos
+de.lmu.ifi.dbs.elki.distance.distancefunction.adapter.SimilarityAdapterLn
+de.lmu.ifi.dbs.elki.distance.distancefunction.adapter.SimilarityAdapterLinear
+de.lmu.ifi.dbs.elki.distance.distancefunction.colorhistogram.HSBHistogramQuadraticDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.colorhistogram.HistogramIntersectionDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.colorhistogram.RGBHistogramQuadraticDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.PearsonCorrelationDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.SquaredPearsonCorrelationDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.ERiCDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.PCABasedCorrelationDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.WeightedPearsonCorrelationDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.WeightedSquaredPearsonCorrelationDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.geo.DimensionSelectingLatLngDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.geo.LatLngDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.geo.LngLatDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.external.DiskCacheBasedDoubleDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.external.DiskCacheBasedFloatDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.external.FileBasedDoubleDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.external.FileBasedFloatDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.DimensionSelectingDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceEuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceLPNormDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceManhattanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.DiSHDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.HiSCDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.LocalSubspaceDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.timeseries.DTWDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.timeseries.EDRDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.timeseries.ERPDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.timeseries.LCSSDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel.FooKernelFunction
+# de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel.LinearKernelFunction
+# de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel.PolynomialKernelFunction
+# tutorial.distancefunction.MultiLPNorm
+# tutorial.distancefunction.TutorialDistanceFunction
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.DoubleNorm b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.DoubleNorm
new file mode 100644
index 00000000..bb3847a9
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.DoubleNorm
@@ -0,0 +1,10 @@
+de.lmu.ifi.dbs.elki.distance.distancefunction.EuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.ManhattanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.MaximumDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.MinimumDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.LPNormDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.SquaredEuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.WeightedLPNormDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceEuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceLPNormDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceManhattanDistanceFunction
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.FilteredLocalPCABasedDistanceFunction b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.FilteredLocalPCABasedDistanceFunction
new file mode 100644
index 00000000..df161a0a
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.FilteredLocalPCABasedDistanceFunction
@@ -0,0 +1,4 @@
+de.lmu.ifi.dbs.elki.distance.distancefunction.LocallyWeightedDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.ERiCDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.PCABasedCorrelationDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.LocalSubspaceDistanceFunction
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.LocallyWeightedDistanceFunction b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.LocallyWeightedDistanceFunction
new file mode 100644
index 00000000..6b852263
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.LocallyWeightedDistanceFunction
@@ -0,0 +1 @@
+de.lmu.ifi.dbs.elki.distance.distancefunction.LocallyWeightedDistanceFunction
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.NumberVectorDistanceFunction b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.NumberVectorDistanceFunction
new file mode 100644
index 00000000..ab889ff6
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.NumberVectorDistanceFunction
@@ -0,0 +1,29 @@
+de.lmu.ifi.dbs.elki.distance.distancefunction.EuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.ManhattanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.LPNormDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.MaximumDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.MinimumDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.ArcCosineDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.CosineDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.SquaredEuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.CanberraDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.JeffreyDivergenceDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.WeightedDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.WeightedLPNormDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.WeightedSquaredEuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.colorhistogram.HSBHistogramQuadraticDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.colorhistogram.HistogramIntersectionDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.colorhistogram.RGBHistogramQuadraticDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.PearsonCorrelationDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.SquaredPearsonCorrelationDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.WeightedPearsonCorrelationDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.WeightedSquaredPearsonCorrelationDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.geo.DimensionSelectingLatLngDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.geo.LatLngDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.geo.LngLatDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.timeseries.DTWDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.timeseries.EDRDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.timeseries.ERPDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.timeseries.LCSSDistanceFunction
+# tutorial.distancefunction.MultiLPNorm
+# tutorial.distancefunction.TutorialDistanceFunction \ No newline at end of file
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.PrimitiveDistanceFunction b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.PrimitiveDistanceFunction
new file mode 100644
index 00000000..bc770e74
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.PrimitiveDistanceFunction
@@ -0,0 +1,36 @@
+de.lmu.ifi.dbs.elki.distance.distancefunction.EuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.ManhattanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.LPNormDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.ArcCosineDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.CosineDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.MaximumDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.MinimumDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.SquaredEuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.CanberraDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.JeffreyDivergenceDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.WeightedDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.WeightedLPNormDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.WeightedSquaredEuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.colorhistogram.HSBHistogramQuadraticDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.colorhistogram.HistogramIntersectionDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.colorhistogram.RGBHistogramQuadraticDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.PearsonCorrelationDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.SquaredPearsonCorrelationDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.WeightedPearsonCorrelationDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.WeightedSquaredPearsonCorrelationDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.geo.DimensionSelectingLatLngDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.geo.LatLngDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.geo.LngLatDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.DimensionSelectingDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceEuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceLPNormDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceManhattanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.timeseries.DTWDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.timeseries.EDRDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.timeseries.ERPDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.timeseries.LCSSDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel.FooKernelFunction
+# de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel.LinearKernelFunction
+# de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel.PolynomialKernelFunction
+# tutorial.distancefunction.MultiLPNorm
+# tutorial.distancefunction.TutorialDistanceFunction
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.PrimitiveDoubleDistanceFunction b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.PrimitiveDoubleDistanceFunction
new file mode 100644
index 00000000..3bf5428e
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.PrimitiveDoubleDistanceFunction
@@ -0,0 +1,33 @@
+de.lmu.ifi.dbs.elki.distance.distancefunction.EuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.ManhattanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.LPNormDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.ArcCosineDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.CosineDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.MaximumDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.MinimumDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.SquaredEuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.CanberraDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.JeffreyDivergenceDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.WeightedDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.WeightedLPNormDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.WeightedSquaredEuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.colorhistogram.HSBHistogramQuadraticDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.colorhistogram.HistogramIntersectionDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.colorhistogram.RGBHistogramQuadraticDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.PearsonCorrelationDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.SquaredPearsonCorrelationDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.WeightedPearsonCorrelationDistanceFunction
+# de.lmu.ifi.dbs.elki.distance.distancefunction.correlation.WeightedSquaredPearsonCorrelationDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.geo.DimensionSelectingLatLngDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.geo.LatLngDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.geo.LngLatDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.DimensionSelectingDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceEuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceLPNormDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceManhattanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.timeseries.DTWDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.timeseries.EDRDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.timeseries.ERPDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.timeseries.LCSSDistanceFunction
+# tutorial.distancefunction.MultiLPNorm
+# tutorial.distancefunction.TutorialDistanceFunction
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.SpatialPrimitiveDistanceFunction b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.SpatialPrimitiveDistanceFunction
new file mode 100644
index 00000000..bc1c6777
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.SpatialPrimitiveDistanceFunction
@@ -0,0 +1,15 @@
+de.lmu.ifi.dbs.elki.distance.distancefunction.EuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.ManhattanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.LPNormDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.MaximumDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.MinimumDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.ArcCosineDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.CosineDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.CanberraDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.SquaredEuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.WeightedLPNormDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.colorhistogram.HistogramIntersectionDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.DimensionSelectingDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceEuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceLPNormDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceManhattanDistanceFunction \ No newline at end of file
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.SpatialPrimitiveDoubleDistanceFunction b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.SpatialPrimitiveDoubleDistanceFunction
new file mode 100644
index 00000000..a5e3364e
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.SpatialPrimitiveDoubleDistanceFunction
@@ -0,0 +1,15 @@
+de.lmu.ifi.dbs.elki.distance.distancefunction.EuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.ManhattanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.LPNormDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.MaximumDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.MinimumDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.ArcCosineDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.CosineDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.CanberraDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.WeightedLPNormDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.SquaredEuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.colorhistogram.HistogramIntersectionDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.DimensionSelectingDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceEuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceLPNormDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceManhattanDistanceFunction
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.external.DistanceParser b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.external.DistanceParser
new file mode 100644
index 00000000..199f56b9
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.external.DistanceParser
@@ -0,0 +1 @@
+de.lmu.ifi.dbs.elki.distance.distancefunction.external.NumberDistanceParser \ No newline at end of file
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.AbstractDimensionsSelectingDoubleDistanceFunction b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.AbstractDimensionsSelectingDoubleDistanceFunction
new file mode 100644
index 00000000..f0a38487
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.AbstractDimensionsSelectingDoubleDistanceFunction
@@ -0,0 +1,3 @@
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceEuclideanDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceLPNormDistanceFunction
+de.lmu.ifi.dbs.elki.distance.distancefunction.subspace.SubspaceManhattanDistanceFunction
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.similarityfunction.NormalizedSimilarityFunction b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.similarityfunction.NormalizedSimilarityFunction
new file mode 100644
index 00000000..6d8add0c
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.similarityfunction.NormalizedSimilarityFunction
@@ -0,0 +1 @@
+de.lmu.ifi.dbs.elki.distance.similarityfunction.FractionalSharedNearestNeighborSimilarityFunction
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.similarityfunction.PrimitiveSimilarityFunction b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.similarityfunction.PrimitiveSimilarityFunction
new file mode 100644
index 00000000..33284aa0
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.similarityfunction.PrimitiveSimilarityFunction
@@ -0,0 +1,4 @@
+de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel.FooKernelFunction
+de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel.LinearKernelFunction
+de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel.PolynomialKernelFunction
+de.lmu.ifi.dbs.elki.distance.similarityfunction.InvertedDistanceSimilarityFunction
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.similarityfunction.SimilarityFunction b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.similarityfunction.SimilarityFunction
new file mode 100644
index 00000000..bc5ffaa6
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.distance.similarityfunction.SimilarityFunction
@@ -0,0 +1,6 @@
+de.lmu.ifi.dbs.elki.distance.similarityfunction.FractionalSharedNearestNeighborSimilarityFunction
+de.lmu.ifi.dbs.elki.distance.similarityfunction.SharedNearestNeighborSimilarityFunction
+de.lmu.ifi.dbs.elki.distance.similarityfunction.InvertedDistanceSimilarityFunction
+# de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel.FooKernelFunction
+# de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel.LinearKernelFunction
+# de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel.PolynomialKernelFunction
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.evaluation.Evaluator b/src/META-INF/elki/de.lmu.ifi.dbs.elki.evaluation.Evaluator
new file mode 100644
index 00000000..f2813425
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.evaluation.Evaluator
@@ -0,0 +1,8 @@
+de.lmu.ifi.dbs.elki.evaluation.clustering.EvaluateClustering
+de.lmu.ifi.dbs.elki.evaluation.clustering.pairsegments.ClusterPairSegmentAnalysis
+de.lmu.ifi.dbs.elki.evaluation.roc.ComputeROCCurve
+de.lmu.ifi.dbs.elki.evaluation.histogram.ComputeOutlierHistogram
+de.lmu.ifi.dbs.elki.evaluation.index.IndexPurity
+de.lmu.ifi.dbs.elki.evaluation.index.IndexStatistics
+de.lmu.ifi.dbs.elki.evaluation.outlier.JudgeOutlierScores
+de.lmu.ifi.dbs.elki.evaluation.similaritymatrix.ComputeSimilarityMatrixImage
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.IndexFactory b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.IndexFactory
new file mode 100644
index 00000000..6c0fff30
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.IndexFactory
@@ -0,0 +1,24 @@
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.rstar.RStarTreeFactory
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.deliclu.DeLiCluTreeFactory
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.flat.FlatRStarTreeFactory
+# de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.rdknn.RdKNNTreeFactory
+de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mtree.MTreeFactory
+de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mktrees.mkapp.MkAppTreeFactory
+# de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mktrees.mkcop.MkCopTreeFactory
+de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mktrees.mkmax.MkMaxTreeFactory
+de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mktrees.mktab.MkTabTreeFactory
+de.lmu.ifi.dbs.elki.index.vafile.VAFile$Factory
+de.lmu.ifi.dbs.elki.index.preprocessed.knn.MaterializeKNNAndRKNNPreprocessor$Factory
+de.lmu.ifi.dbs.elki.index.preprocessed.knn.MaterializeKNNPreprocessor$Factory
+de.lmu.ifi.dbs.elki.index.preprocessed.knn.KNNJoinMaterializeKNNPreprocessor$Factory
+de.lmu.ifi.dbs.elki.index.preprocessed.knn.MetricalIndexApproximationMaterializeKNNPreprocessor$Factory
+de.lmu.ifi.dbs.elki.index.preprocessed.knn.PartitionApproximationMaterializeKNNPreprocessor$Factory
+de.lmu.ifi.dbs.elki.index.preprocessed.knn.SpatialApproximationMaterializeKNNPreprocessor$Factory
+de.lmu.ifi.dbs.elki.index.preprocessed.knn.RandomSampleKNNPreprocessor$Factory
+de.lmu.ifi.dbs.elki.index.preprocessed.localpca.KNNQueryFilteredPCAIndex$Factory
+de.lmu.ifi.dbs.elki.index.preprocessed.localpca.RangeQueryFilteredPCAIndex$Factory
+de.lmu.ifi.dbs.elki.index.preprocessed.preference.DiSHPreferenceVectorIndex$Factory
+de.lmu.ifi.dbs.elki.index.preprocessed.preference.HiSCPreferenceVectorIndex$Factory
+de.lmu.ifi.dbs.elki.index.preprocessed.snn.SharedNearestNeighborPreprocessor$Factory
+de.lmu.ifi.dbs.elki.index.preprocessed.subspaceproj.FourCSubspaceIndex$Factory
+de.lmu.ifi.dbs.elki.index.preprocessed.subspaceproj.PreDeConSubspaceIndex$Factory \ No newline at end of file
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.KNNIndex b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.KNNIndex
new file mode 100644
index 00000000..cc1e2e56
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.KNNIndex
@@ -0,0 +1,17 @@
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.rstar.RStarTreeIndex
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.deliclu.DeLiCluTreeIndex
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.flat.FlatRStarTreeIndex
+# de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.rdknn.RdKNNTree
+de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mtree.MTreeIndex
+de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mktrees.mkapp.MkAppTreeIndex
+# de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mktrees.mkcop.MkCoPTreeIndex
+de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mktrees.mkmax.MkMaxTreeIndex
+de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mktrees.mktab.MkTabTreeIndex
+de.lmu.ifi.dbs.elki.index.preprocessed.knn.MaterializeKNNAndRKNNPreprocessor
+de.lmu.ifi.dbs.elki.index.preprocessed.knn.MaterializeKNNPreprocessor
+de.lmu.ifi.dbs.elki.index.preprocessed.knn.KNNJoinMaterializeKNNPreprocessor
+de.lmu.ifi.dbs.elki.index.preprocessed.knn.MetricalIndexApproximationMaterializeKNNPreprocessor
+de.lmu.ifi.dbs.elki.index.preprocessed.knn.PartitionApproximationMaterializeKNNPreprocessor
+de.lmu.ifi.dbs.elki.index.preprocessed.knn.RandomSampleKNNPreprocessor
+de.lmu.ifi.dbs.elki.index.preprocessed.knn.SpatialApproximationMaterializeKNNPreprocessor
+de.lmu.ifi.dbs.elki.index.vafile.VAFile \ No newline at end of file
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.RKNNIndex b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.RKNNIndex
new file mode 100644
index 00000000..04293f79
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.RKNNIndex
@@ -0,0 +1,6 @@
+de.lmu.ifi.dbs.elki.index.preprocessed.knn.MaterializeKNNAndRKNNPreprocessor
+de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mktrees.mkapp.MkAppTreeIndex
+# de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mktrees.mkcop.MkCoPTreeIndex
+de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mktrees.mkmax.MkMaxTreeIndex
+de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mktrees.mktab.MkTabTreeIndex
+# de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.rdknn.RdKNNTree
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.RangeIndex b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.RangeIndex
new file mode 100644
index 00000000..d39d1bbb
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.RangeIndex
@@ -0,0 +1,10 @@
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.rstar.RStarTreeIndex
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.deliclu.DeLiCluTreeIndex
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.flat.FlatRStarTreeIndex
+# de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.rdknn.RdKNNTree
+de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mtree.MTreeIndex
+de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mktrees.mkapp.MkAppTreeIndex
+# de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mktrees.mkcop.MkCoPTreeIndex
+de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mktrees.mkmax.MkMaxTreeIndex
+de.lmu.ifi.dbs.elki.index.tree.metrical.mtreevariants.mktrees.mktab.MkTabTreeIndex
+de.lmu.ifi.dbs.elki.index.vafile.VAFile \ No newline at end of file
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.LocalProjectionIndex$Factory b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.LocalProjectionIndex$Factory
new file mode 100644
index 00000000..296ec2ae
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.LocalProjectionIndex$Factory
@@ -0,0 +1,4 @@
+de.lmu.ifi.dbs.elki.index.preprocessed.localpca.KNNQueryFilteredPCAIndex$Factory
+de.lmu.ifi.dbs.elki.index.preprocessed.localpca.RangeQueryFilteredPCAIndex$Factory
+de.lmu.ifi.dbs.elki.index.preprocessed.subspaceproj.FourCSubspaceIndex$Factory
+de.lmu.ifi.dbs.elki.index.preprocessed.subspaceproj.PreDeConSubspaceIndex$Factory
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.knn.MaterializeKNNPreprocessor b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.knn.MaterializeKNNPreprocessor
new file mode 100644
index 00000000..293dd23a
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.knn.MaterializeKNNPreprocessor
@@ -0,0 +1,2 @@
+de.lmu.ifi.dbs.elki.index.preprocessed.knn.MaterializeKNNPreprocessor
+de.lmu.ifi.dbs.elki.index.preprocessed.knn.MaterializeKNNAndRKNNPreprocessor
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.localpca.FilteredLocalPCAIndex$Factory b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.localpca.FilteredLocalPCAIndex$Factory
new file mode 100644
index 00000000..6d19b635
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.localpca.FilteredLocalPCAIndex$Factory
@@ -0,0 +1,2 @@
+de.lmu.ifi.dbs.elki.index.preprocessed.localpca.KNNQueryFilteredPCAIndex$Factory
+de.lmu.ifi.dbs.elki.index.preprocessed.localpca.RangeQueryFilteredPCAIndex$Factory
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.preference.PreferenceVectorIndex$Factory b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.preference.PreferenceVectorIndex$Factory
new file mode 100644
index 00000000..bbf473e6
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.preference.PreferenceVectorIndex$Factory
@@ -0,0 +1,2 @@
+de.lmu.ifi.dbs.elki.index.preprocessed.preference.DiSHPreferenceVectorIndex$Factory
+de.lmu.ifi.dbs.elki.index.preprocessed.preference.HiSCPreferenceVectorIndex$Factory
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.snn.SharedNearestNeighborIndex$Factory b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.snn.SharedNearestNeighborIndex$Factory
new file mode 100644
index 00000000..809e8f7e
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.snn.SharedNearestNeighborIndex$Factory
@@ -0,0 +1 @@
+de.lmu.ifi.dbs.elki.index.preprocessed.snn.SharedNearestNeighborPreprocessor$Factory
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.subspaceproj.SubspaceProjectionIndex$Factory b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.subspaceproj.SubspaceProjectionIndex$Factory
new file mode 100644
index 00000000..577610dc
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.preprocessed.subspaceproj.SubspaceProjectionIndex$Factory
@@ -0,0 +1,2 @@
+de.lmu.ifi.dbs.elki.index.preprocessed.subspaceproj.FourCSubspaceIndex$Factory
+de.lmu.ifi.dbs.elki.index.preprocessed.subspaceproj.PreDeConSubspaceIndex$Factory
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.bulk.BulkSplit b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.bulk.BulkSplit
new file mode 100644
index 00000000..c40d3887
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.bulk.BulkSplit
@@ -0,0 +1,5 @@
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.bulk.SortTileRecursiveBulkSplit
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.bulk.SpatialSortBulkSplit
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.bulk.MaxExtensionBulkSplit
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.bulk.OneDimSortBulkSplit
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.bulk.FileOrderBulkSplit
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.insert.InsertionStrategy b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.insert.InsertionStrategy
new file mode 100644
index 00000000..3efef709
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.insert.InsertionStrategy
@@ -0,0 +1,5 @@
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.insert.ApproximativeLeastOverlapInsertionStrategy
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.insert.CombinedInsertionStrategy
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.insert.LeastEnlargementWithAreaInsertionStrategy
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.insert.LeastEnlargementInsertionStrategy
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.insert.LeastOverlapInsertionStrategy
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.overflow.OverflowTreatment b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.overflow.OverflowTreatment
new file mode 100644
index 00000000..9e5698ad
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.overflow.OverflowTreatment
@@ -0,0 +1,2 @@
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.overflow.LimitedReinsertOverflowTreatment
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.overflow.SplitOnlyOverflowTreatment
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.split.SplitStrategy b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.split.SplitStrategy
new file mode 100644
index 00000000..46523b64
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.split.SplitStrategy
@@ -0,0 +1,5 @@
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.split.TopologicalSplitter
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.split.RTreeQuadraticSplit
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.split.RTreeLinearSplit
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.split.AngTanLinearSplit
+de.lmu.ifi.dbs.elki.index.tree.spatial.rstarvariants.strategies.split.GreeneSplit
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.math.linearalgebra.pca.CovarianceMatrixBuilder b/src/META-INF/elki/de.lmu.ifi.dbs.elki.math.linearalgebra.pca.CovarianceMatrixBuilder
new file mode 100644
index 00000000..95801f2c
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.math.linearalgebra.pca.CovarianceMatrixBuilder
@@ -0,0 +1,2 @@
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.StandardCovarianceMatrixBuilder
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.WeightedCovarianceMatrixBuilder
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.math.linearalgebra.pca.EigenPairFilter b/src/META-INF/elki/de.lmu.ifi.dbs.elki.math.linearalgebra.pca.EigenPairFilter
new file mode 100644
index 00000000..67050b39
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.math.linearalgebra.pca.EigenPairFilter
@@ -0,0 +1,9 @@
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.FirstNEigenPairFilter
+# de.lmu.ifi.dbs.elki.math.linearalgebra.pca.NormalizingEigenPairFilter
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.LimitEigenPairFilter
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.PercentageEigenPairFilter
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.ProgressiveEigenPairFilter
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.WeakEigenPairFilter
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.RelativeEigenPairFilter
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.SignificantEigenPairFilter
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.CompositeEigenPairFilter
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.math.linearalgebra.pca.PCAFilteredRunner b/src/META-INF/elki/de.lmu.ifi.dbs.elki.math.linearalgebra.pca.PCAFilteredRunner
new file mode 100644
index 00000000..7ae46e6e
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.math.linearalgebra.pca.PCAFilteredRunner
@@ -0,0 +1,2 @@
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.PCAFilteredRunner
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.PCAFilteredAutotuningRunner \ No newline at end of file
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.math.linearalgebra.pca.weightfunctions.WeightFunction b/src/META-INF/elki/de.lmu.ifi.dbs.elki.math.linearalgebra.pca.weightfunctions.WeightFunction
new file mode 100644
index 00000000..683e3bb7
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.math.linearalgebra.pca.weightfunctions.WeightFunction
@@ -0,0 +1,13 @@
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.weightfunctions.ConstantWeight
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.weightfunctions.ErfcStddevWeight
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.weightfunctions.ErfcWeight
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.weightfunctions.ExponentialStddevWeight
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.weightfunctions.ExponentialWeight
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.weightfunctions.GaussStddevWeight
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.weightfunctions.GaussWeight
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.weightfunctions.InverseLinearWeight
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.weightfunctions.InverseProportionalStddevWeight
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.weightfunctions.InverseProportionalWeight
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.weightfunctions.LinearWeight
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.weightfunctions.QuadraticStddevWeight
+de.lmu.ifi.dbs.elki.math.linearalgebra.pca.weightfunctions.QuadraticWeight
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.math.spacefillingcurves.SpatialSorter b/src/META-INF/elki/de.lmu.ifi.dbs.elki.math.spacefillingcurves.SpatialSorter
new file mode 100644
index 00000000..55923a7e
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.math.spacefillingcurves.SpatialSorter
@@ -0,0 +1,4 @@
+de.lmu.ifi.dbs.elki.math.spacefillingcurves.PeanoSpatialSorter
+de.lmu.ifi.dbs.elki.math.spacefillingcurves.ZCurveSpatialSorter
+de.lmu.ifi.dbs.elki.math.spacefillingcurves.HilbertSpatialSorter
+de.lmu.ifi.dbs.elki.math.spacefillingcurves.BinarySplitSpatialSorter \ No newline at end of file
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.result.ResultHandler b/src/META-INF/elki/de.lmu.ifi.dbs.elki.result.ResultHandler
new file mode 100644
index 00000000..66d8fef1
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.result.ResultHandler
@@ -0,0 +1,6 @@
+de.lmu.ifi.dbs.elki.result.ResultWriter
+de.lmu.ifi.dbs.elki.visualization.gui.ResultVisualizer
+de.lmu.ifi.dbs.elki.result.DiscardResultHandler
+de.lmu.ifi.dbs.elki.result.KMLOutputHandler
+de.lmu.ifi.dbs.elki.visualization.ExportVisualizations
+de.lmu.ifi.dbs.elki.application.jsmap.JSONResultHandler
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.utilities.referencepoints.ReferencePointsHeuristic b/src/META-INF/elki/de.lmu.ifi.dbs.elki.utilities.referencepoints.ReferencePointsHeuristic
new file mode 100644
index 00000000..1c20e4fb
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.utilities.referencepoints.ReferencePointsHeuristic
@@ -0,0 +1,6 @@
+de.lmu.ifi.dbs.elki.utilities.referencepoints.GridBasedReferencePoints
+de.lmu.ifi.dbs.elki.utilities.referencepoints.AxisBasedReferencePoints
+de.lmu.ifi.dbs.elki.utilities.referencepoints.FullDatabaseReferencePoints
+de.lmu.ifi.dbs.elki.utilities.referencepoints.RandomGeneratedReferencePoints
+de.lmu.ifi.dbs.elki.utilities.referencepoints.RandomSampleReferencePoints
+de.lmu.ifi.dbs.elki.utilities.referencepoints.StarBasedReferencePoints
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.utilities.scaling.ScalingFunction b/src/META-INF/elki/de.lmu.ifi.dbs.elki.utilities.scaling.ScalingFunction
new file mode 100644
index 00000000..ccd91844
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.utilities.scaling.ScalingFunction
@@ -0,0 +1,19 @@
+de.lmu.ifi.dbs.elki.utilities.scaling.IdentityScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.ClipScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.GammaScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.LinearScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.MinusLogScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.OutlierLinearScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.TopKOutlierScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.MinusLogGammaScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.MinusLogStandardDeviationScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.MultiplicativeInverseScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.OutlierGammaScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.OutlierMinusLogScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.OutlierSqrtScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.SqrtStandardDeviationScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.StandardDeviationScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.HeDESNormalizationOutlierScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.MixtureModelOutlierScalingFunction
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.RankingPseudoOutlierScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.SigmoidOutlierScalingFunction
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.utilities.scaling.StaticScalingFunction b/src/META-INF/elki/de.lmu.ifi.dbs.elki.utilities.scaling.StaticScalingFunction
new file mode 100644
index 00000000..13f418e7
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.utilities.scaling.StaticScalingFunction
@@ -0,0 +1,5 @@
+de.lmu.ifi.dbs.elki.utilities.scaling.IdentityScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.ClipScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.GammaScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.LinearScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.MinusLogScaling
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.utilities.scaling.outlier.OutlierScalingFunction b/src/META-INF/elki/de.lmu.ifi.dbs.elki.utilities.scaling.outlier.OutlierScalingFunction
new file mode 100644
index 00000000..49617959
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.utilities.scaling.outlier.OutlierScalingFunction
@@ -0,0 +1,14 @@
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.OutlierLinearScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.RankingPseudoOutlierScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.TopKOutlierScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.MinusLogGammaScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.MinusLogStandardDeviationScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.MultiplicativeInverseScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.OutlierGammaScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.OutlierMinusLogScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.OutlierSqrtScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.SqrtStandardDeviationScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.StandardDeviationScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.HeDESNormalizationOutlierScaling
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.MixtureModelOutlierScalingFunction
+de.lmu.ifi.dbs.elki.utilities.scaling.outlier.SigmoidOutlierScalingFunction
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.visualization.projector.ProjectorFactory b/src/META-INF/elki/de.lmu.ifi.dbs.elki.visualization.projector.ProjectorFactory
new file mode 100644
index 00000000..5fc4f399
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.visualization.projector.ProjectorFactory
@@ -0,0 +1,4 @@
+de.lmu.ifi.dbs.elki.visualization.projector.HistogramFactory
+de.lmu.ifi.dbs.elki.visualization.projector.ScatterPlotFactory
+de.lmu.ifi.dbs.elki.visualization.projector.ParallelPlotFactory
+de.lmu.ifi.dbs.elki.visualization.projector.OPTICSProjectorFactory \ No newline at end of file
diff --git a/src/META-INF/elki/de.lmu.ifi.dbs.elki.visualization.visualizers.VisFactory b/src/META-INF/elki/de.lmu.ifi.dbs.elki.visualization.visualizers.VisFactory
new file mode 100644
index 00000000..296024aa
--- /dev/null
+++ b/src/META-INF/elki/de.lmu.ifi.dbs.elki.visualization.visualizers.VisFactory
@@ -0,0 +1,46 @@
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.AxisVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.MarkerVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.PolygonVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.cluster.ClusterMeanVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.cluster.ClusterHullVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.cluster.EMClusterVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.cluster.VoronoiVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.cluster.ClusterOrderVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.index.TreeMBRVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.index.TreeSphereVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.outlier.BubbleVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.TooltipScoreVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.TooltipStringVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.ToolBox2DVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.ReferencePointsVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.density.DensityEstimationOverlay$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.selection.MoveObjectsToolVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.selection.SelectionDotVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.selection.SelectionConvexHullVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.selection.SelectionCubeVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.selection.SelectionToolCubeVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.scatterplot.selection.SelectionToolDotVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.histogram.ColoredHistogramVisualizer$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.parallel.LineVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.parallel.ParallelAxisVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.parallel.cluster.ClusterParallelMeanVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.parallel.cluster.ClusterOutlineVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.parallel.index.RTreeParallelVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.parallel.selection.SelectionAxisRangeVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.parallel.selection.SelectionLineVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.parallel.selection.SelectionToolAxisRangeVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.parallel.selection.SelectionToolLineVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.pairsegments.CircleSegmentsVisualizer$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.visunproj.HistogramVisFactory
+de.lmu.ifi.dbs.elki.visualization.visualizers.visunproj.ClusterEvaluationVisFactory
+de.lmu.ifi.dbs.elki.visualization.visualizers.visunproj.CurveVisFactory
+de.lmu.ifi.dbs.elki.visualization.visualizers.visunproj.LabelVisFactory
+de.lmu.ifi.dbs.elki.visualization.visualizers.visunproj.PixmapVisualizer$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.visunproj.SimilarityMatrixVisualizer$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.visunproj.KeyVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.visunproj.SettingsVisFactory
+de.lmu.ifi.dbs.elki.visualization.visualizers.optics.OPTICSClusterVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.optics.OPTICSPlotCutVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.optics.OPTICSPlotSelectionVisualization$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.optics.OPTICSPlotVisualizer$Factory
+de.lmu.ifi.dbs.elki.visualization.visualizers.optics.OPTICSSteepAreaVisualization$Factory
diff --git a/src/META-INF/services/org.apache.batik.ext.awt.image.spi.RegistryEntry b/src/META-INF/services/org.apache.batik.ext.awt.image.spi.RegistryEntry
new file mode 100644
index 00000000..f1252025
--- /dev/null
+++ b/src/META-INF/services/org.apache.batik.ext.awt.image.spi.RegistryEntry
@@ -0,0 +1 @@
+de.lmu.ifi.dbs.elki.visualization.batikutil.ThumbnailRegistryEntry \ No newline at end of file
diff --git a/src/META-INF/services/org.apache.batik.util.ParsedURLProtocolHandler b/src/META-INF/services/org.apache.batik.util.ParsedURLProtocolHandler
new file mode 100644
index 00000000..f1252025
--- /dev/null
+++ b/src/META-INF/services/org.apache.batik.util.ParsedURLProtocolHandler
@@ -0,0 +1 @@
+de.lmu.ifi.dbs.elki.visualization.batikutil.ThumbnailRegistryEntry \ No newline at end of file