How to supply NearestNeighbourGraph directly ?

I want to cluster using CLUTOs graph clustering method, which operates on the
full similarity graph of all objects to cluster. To speed things up I want to
reduce this full similarity graph to a k-NearestNeighbour graph, which seems to
be supported by CLUTOs scluster. However, I want to supply the NearestNeighbourGraph
directly to the Cluto functions. How can I accomplish this ?

Currently I compute the k-NN-Graph and store it in a Sparse Cluto Matrix (CSR-format):


int* rowptr;
int* rowind;
float* rowval;
makeNNgraph(k, data, rowptr, rowind, rowval);

and then I call :


int* part = new int[N];
float crvalue;
CLUTO_SP_GraphClusterRB(N, rowptr, rowind, rowval, 0, -1.0, -1.0, 0, 2, 1, CLUTO_CSTYPE_BESTFIRST, 1, nclusters, part, &crvalue);

If k equals the number of datapoints (so I build the full k-NN graph) everything seems to work fine. But if I choose smaller values
for k the program chrashes. How can I give CLUTO the information that I supply a k-NN graph for clustering ?

Thanks in advance for your help.

Cheers,

Marc