Skip to content

@saehrimnir/druidjs / MINFOTree

Class: MINFOTree<T>

Defined in: dimred/MINFOTree.js:37

Minimum Information Trees (MINFO Trees)

A visualization method for clustered high-dimensional data. It reads the cluster labels on a k-nearest-neighbor graph as a q-state Potts model, weights the edges by an information-geometric curvature derived from it, and keeps the minimum spanning tree of that weighted graph.

projection returns 2D coordinates like any other method here, but the tree is the actual output — read edges to draw it.

Template

T

See

Extends

  • DR

Type Parameters

Type ParameterDescription
T extends InputType

Constructors

Constructor

ts
new MINFOTree<T>(X: T, parameters?: Partial<ParametersMINFOTree>): MINFOTree<T>;

Defined in: dimred/MINFOTree.js:45

Minimum Information Trees.

Parameters

ParameterTypeDescription
XTThe high-dimensional data.
parameters?Partial<ParametersMINFOTree>Object containing parameterization of the DR method.

Returns

MINFOTree<T>

See

https://doi.org/10.1109/ACCESS.2025.3602730

Overrides

ts
DR.constructor

Properties

PropertyTypeInherited fromDefined in
__inputTDR.__inputdimred/DR.js:46
_betanumber | undefined-dimred/MINFOTree.js:513
_curvatureFloat64Array<ArrayBufferLike> | undefined-dimred/MINFOTree.js:514
_DnumberDR._Ddimred/DR.js:28
_edgesWeightedEdge[] | undefined-dimred/MINFOTree.js:528
_is_initializedbooleanDR._is_initializeddimred/DR.js:34
_labelsInt32Array<ArrayBufferLike> | undefined-dimred/MINFOTree.js:510
_NnumberDR._Ndimred/DR.js:30
_parametersParametersMINFOTreeDR._parametersdimred/DR.js:49
_qnumber | undefined-dimred/MINFOTree.js:169
_randomizerRandomizerDR._randomizerdimred/DR.js:32
_type"array" | "matrix" | "typed"DR._typedimred/DR.js:54
XMatrixDR.Xdimred/DR.js:56
YMatrixDR.Ydimred/DR.js:58

Accessors

beta

Get Signature

ts
get beta(): number;

Defined in: dimred/MINFOTree.js:111

The maximum pseudo-likelihood estimate of the Potts inverse temperature.

Returns

number


curvature

Get Signature

ts
get curvature(): Float64Array<ArrayBufferLike>;

Defined in: dimred/MINFOTree.js:101

The information curvature S_i per point, normalised as the edge weighting uses it.

Returns

Float64Array<ArrayBufferLike>


edges

Get Signature

ts
get edges(): WeightedEdge[];

Defined in: dimred/MINFOTree.js:81

The edges of the Minimum Information Tree, as [u, v, weight] over row indices of X, ascending by weight. This is the method's real output — projection is one drawing of it.

Returns

WeightedEdge[]


labels

Get Signature

ts
get labels(): Int32Array<ArrayBufferLike>;

Defined in: dimred/MINFOTree.js:91

The cluster label per point, whether supplied or computed in step 1.

Returns

Int32Array<ArrayBufferLike>

Labels, remapped to 0 … q-1.


projection

Get Signature

ts
get projection(): T;

Defined in: dimred/DR.js:219

Returns

T

The projection in the type of input X.

Inherited from

ts
DR.projection

Methods

[dispose]()

ts
dispose: void;

Defined in: dimred/DR.js:320

Alias of release for the using declaration, so a hand-driven run frees its buffers when the block exits. Note that transform and a completed or break-ed generator() already release on their own — this only matters for a generator abandoned part way.

js
using tsne = new TSNE(X, { d: 2 });
const steps = tsne.generator(500);
steps.next(); // buffers released when the enclosing block exits

Returns

void

Inherited from

ts
DR.[dispose]

check_init()

ts
check_init(): DR<T, ParametersMINFOTree>;

Defined in: dimred/DR.js:210

If the respective DR method has an init function, call it before transform.

Returns

DR<T, ParametersMINFOTree>

Inherited from

ts
DR.check_init

generator()

ts
generator(): Generator<T, T, void>;

Defined in: dimred/MINFOTree.js:564

Computes the projection.

Returns

Generator<T, T, void>

A generator yielding the intermediate steps of the projection.

Overrides

ts
DR.generator

init()

ts
init(): MINFOTree<T>;

Defined in: dimred/MINFOTree.js:507

Runs steps 1-5: labels, k-NNG, β, curvature, information graph and its spanning tree.

Returns

MINFOTree<T>

Overrides

ts
DR.init

parameter()

Call Signature

ts
parameter(): ParametersMINFOTree;

Defined in: dimred/DR.js:82

Get all Parameters.

Returns

ParametersMINFOTree

Inherited from
ts
DR.parameter

Call Signature

ts
parameter<K>(name: K): ParametersMINFOTree[K];

Defined in: dimred/DR.js:88

Get value of given parameter.

Type Parameters
Type ParameterDescription
K extends keyof ParametersMINFOTree
Parameters
ParameterTypeDescription
nameKName of the parameter.
Returns

ParametersMINFOTree[K]

Inherited from
ts
DR.parameter

Call Signature

ts
parameter<K>(name: K, value: ParametersMINFOTree[K]): MINFOTree<T>;

Defined in: dimred/DR.js:95

Set value of given parameter.

Type Parameters
Type ParameterDescription
K extends keyof ParametersMINFOTree
Parameters
ParameterTypeDescription
nameKName of the parameter.
valueParametersMINFOTree[K]Value of the parameter to set.
Returns

MINFOTree<T>

Inherited from
ts
DR.parameter

release()

ts
release(): MINFOTree<T>;

Defined in: dimred/DR.js:302

Hands back the WASM buffers this instance is holding.

Only needed after driving generator() by hand and stopping early — a plain transform(), or a for…of over generator() (including one you break), already releases when it ends. It frees only this method's buffers, never another running instance's, and the next run simply reallocates, so it is safe to call at any time, more than once, and while other instances are mid-run.

Returns

MINFOTree<T>

Example

ts
const tsne = new TSNE(X, { d: 2 });
const steps = tsne.generator(500);
steps.next();
tsne.release(); // stop early and give the buffers back

Inherited from

ts
DR.release

transform()

ts
transform(): T;

Defined in: dimred/MINFOTree.js:538

Computes the projection.

Returns

T

Overrides

ts
DR.transform

transform_async()

ts
transform_async(...args: unknown[]): Promise<T>;

Defined in: dimred/DR.js:241

Computes the projection.

Parameters

ParameterTypeDescription
...argsunknown[]Arguments the transform method of the respective DR method takes.

Returns

Promise<T>

The dimensionality reduced dataset.

Inherited from

ts
DR.transform_async

generator()

ts
static generator<T>(X: T, parameters?: Partial<ParametersMINFOTree>): Generator<T, T, void>;

Defined in: dimred/MINFOTree.js:586

Type Parameters

Type ParameterDescription
T extends InputType

Parameters

ParameterTypeDescription
XT-
parameters?Partial<ParametersMINFOTree>-

Returns

Generator<T, T, void>

Overrides

ts
DR.generator

transform()

ts
static transform<T>(X: T, parameters?: Partial<ParametersMINFOTree>): T;

Defined in: dimred/MINFOTree.js:575

Type Parameters

Type ParameterDescription
T extends InputType

Parameters

ParameterTypeDescription
XT-
parameters?Partial<ParametersMINFOTree>-

Returns

T

Overrides

ts
DR.transform

transform_async()

ts
static transform_async<T>(X: T, parameters?: Partial<ParametersMINFOTree>): Promise<T>;

Defined in: dimred/MINFOTree.js:598

Type Parameters

Type ParameterDescription
T extends InputType

Parameters

ParameterTypeDescription
XT-
parameters?Partial<ParametersMINFOTree>-

Returns

Promise<T>

Overrides

ts
DR.transform_async