use of de.lmu.ifi.dbs.elki.visualization.projections.ProjectionParallel in project elki by elki-project.
the class OpenGL3DParallelCoordinates method processNewResult.
@Override
public void processNewResult(ResultHierarchy hier, Result newResult) {
boolean nonefound = true;
List<Relation<?>> rels = ResultUtil.getRelations(newResult);
for (Relation<?> rel : rels) {
if (!TypeUtil.NUMBER_VECTOR_FIELD.isAssignableFromType(rel.getDataTypeInformation())) {
continue;
}
@SuppressWarnings("unchecked") Relation<? extends O> vrel = (Relation<? extends O>) rel;
ScalesResult scales = ScalesResult.getScalesResult(vrel);
ProjectionParallel proj = new SimpleParallel(null, scales.getScales());
PropertiesBasedStyleLibrary stylelib = new PropertiesBasedStyleLibrary();
StylingPolicy stylepol = getStylePolicy(hier, stylelib);
new Instance<>(vrel, proj, settings, stylepol, stylelib).run();
nonefound = false;
}
if (nonefound && hier.equals(newResult)) {
LOG.warning("3DPC did not find a number vector field relation to visualize!");
}
}
use of de.lmu.ifi.dbs.elki.visualization.projections.ProjectionParallel in project elki by elki-project.
the class ParallelPlotProjector method arrange.
@Override
public Collection<PlotItem> arrange(VisualizerContext context) {
List<PlotItem> col = new ArrayList<>(1);
List<VisualizationTask> tasks = context.getVisTasks(this);
if (!tasks.isEmpty()) {
ScalesResult scales = ScalesResult.getScalesResult(rel);
ProjectionParallel proj = new SimpleParallel(this, scales.getScales());
final double width = Math.max(.5, Math.ceil(MathUtil.log2(scales.getScales().length - 1)));
final PlotItem it = new PlotItem(width, 1., proj);
it.tasks = tasks;
col.add(it);
}
return col;
}
Aggregations