@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
- https://doi.org/10.1109/ACCESS.2025.3602730
- TopoMap for another spanning-tree-based projection.
Extends
DR
Type Parameters
| Type Parameter | Description |
|---|---|
T extends InputType |
Constructors
Constructor
new MINFOTree<T>(X: T, parameters?: Partial<ParametersMINFOTree>): MINFOTree<T>;Defined in: dimred/MINFOTree.js:45
Minimum Information Trees.
Parameters
| Parameter | Type | Description |
|---|---|---|
X | T | The 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
DR.constructorProperties
| Property | Type | Inherited from | Defined in |
|---|---|---|---|
__input | T | DR.__input | dimred/DR.js:46 |
_beta | number | undefined | - | dimred/MINFOTree.js:513 |
_curvature | Float64Array<ArrayBufferLike> | undefined | - | dimred/MINFOTree.js:514 |
_D | number | DR._D | dimred/DR.js:28 |
_edges | WeightedEdge[] | undefined | - | dimred/MINFOTree.js:528 |
_is_initialized | boolean | DR._is_initialized | dimred/DR.js:34 |
_labels | Int32Array<ArrayBufferLike> | undefined | - | dimred/MINFOTree.js:510 |
_N | number | DR._N | dimred/DR.js:30 |
_parameters | ParametersMINFOTree | DR._parameters | dimred/DR.js:49 |
_q | number | undefined | - | dimred/MINFOTree.js:169 |
_randomizer | Randomizer | DR._randomizer | dimred/DR.js:32 |
_type | "array" | "matrix" | "typed" | DR._type | dimred/DR.js:54 |
X | Matrix | DR.X | dimred/DR.js:56 |
Y | Matrix | DR.Y | dimred/DR.js:58 |
Accessors
beta
Get Signature
get beta(): number;Defined in: dimred/MINFOTree.js:111
The maximum pseudo-likelihood estimate of the Potts inverse temperature.
Returns
number
curvature
Get Signature
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
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
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
get projection(): T;Defined in: dimred/DR.js:219
Returns
T
The projection in the type of input X.
Inherited from
DR.projectionMethods
[dispose]()
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.
using tsne = new TSNE(X, { d: 2 });
const steps = tsne.generator(500);
steps.next(); // buffers released when the enclosing block exitsReturns
void
Inherited from
DR.[dispose]check_init()
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
DR.check_initgenerator()
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
DR.generatorinit()
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
DR.initparameter()
Call Signature
parameter(): ParametersMINFOTree;Defined in: dimred/DR.js:82
Get all Parameters.
Returns
Inherited from
DR.parameterCall Signature
parameter<K>(name: K): ParametersMINFOTree[K];Defined in: dimred/DR.js:88
Get value of given parameter.
Type Parameters
| Type Parameter | Description |
|---|---|
K extends keyof ParametersMINFOTree |
Parameters
| Parameter | Type | Description |
|---|---|---|
name | K | Name of the parameter. |
Returns
Inherited from
DR.parameterCall Signature
parameter<K>(name: K, value: ParametersMINFOTree[K]): MINFOTree<T>;Defined in: dimred/DR.js:95
Set value of given parameter.
Type Parameters
| Type Parameter | Description |
|---|---|
K extends keyof ParametersMINFOTree |
Parameters
| Parameter | Type | Description |
|---|---|---|
name | K | Name of the parameter. |
value | ParametersMINFOTree[K] | Value of the parameter to set. |
Returns
MINFOTree<T>
Inherited from
DR.parameterrelease()
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
const tsne = new TSNE(X, { d: 2 });
const steps = tsne.generator(500);
steps.next();
tsne.release(); // stop early and give the buffers backInherited from
DR.releasetransform()
transform(): T;Defined in: dimred/MINFOTree.js:538
Computes the projection.
Returns
T
Overrides
DR.transformtransform_async()
transform_async(...args: unknown[]): Promise<T>;Defined in: dimred/DR.js:241
Computes the projection.
Parameters
| Parameter | Type | Description |
|---|---|---|
...args | unknown[] | Arguments the transform method of the respective DR method takes. |
Returns
Promise<T>
The dimensionality reduced dataset.
Inherited from
DR.transform_asyncgenerator()
static generator<T>(X: T, parameters?: Partial<ParametersMINFOTree>): Generator<T, T, void>;Defined in: dimred/MINFOTree.js:586
Type Parameters
| Type Parameter | Description |
|---|---|
T extends InputType |
Parameters
| Parameter | Type | Description |
|---|---|---|
X | T | - |
parameters? | Partial<ParametersMINFOTree> | - |
Returns
Generator<T, T, void>
Overrides
DR.generatortransform()
static transform<T>(X: T, parameters?: Partial<ParametersMINFOTree>): T;Defined in: dimred/MINFOTree.js:575
Type Parameters
| Type Parameter | Description |
|---|---|
T extends InputType |
Parameters
| Parameter | Type | Description |
|---|---|---|
X | T | - |
parameters? | Partial<ParametersMINFOTree> | - |
Returns
T
Overrides
DR.transformtransform_async()
static transform_async<T>(X: T, parameters?: Partial<ParametersMINFOTree>): Promise<T>;Defined in: dimred/MINFOTree.js:598
Type Parameters
| Type Parameter | Description |
|---|---|
T extends InputType |
Parameters
| Parameter | Type | Description |
|---|---|---|
X | T | - |
parameters? | Partial<ParametersMINFOTree> | - |
Returns
Promise<T>
Overrides
DR.transform_async