in evaluation/metrics.js [22:45]
function computeMetrics(treatment, nodes){
var inputNodes = nodes.map(function(d){return d.clone();});
var t1 = process.hrtime();
var force = applyTreatment(treatment, inputNodes);
var time = process.hrtime(t1);
time = time[0]*1000000000 + time[1];
var layers = force.getLayers();
var options = force.options();
return {
time: time/1000000, // convert to ms
layerCount: layers.length,
displacement: metrics.displacement(layers),
pathLength: metrics.pathLength(layers),
overflowSpace: metrics.overflowSpace(layers, options.minPos, options.maxPos),
overlapCount: metrics.overlapCount(layers),
overlapSpace: metrics.overlapSpace(layers),
overDensitySpace: metrics.overDensitySpace(layers, options.density, options.maxPos-options.minPos, options.nodeSpacing),
weightedAllocation: metrics.weightedAllocation(layers),
weightedAllocatedSpace: metrics.weightedAllocatedSpace(layers)
};
}