From e320be241fc4a1a7a7c58da2301b6aeaa28b611a Mon Sep 17 00:00:00 2001 From: KotoriK <52659125+KotoriK@users.noreply.github.com> Date: Mon, 7 Oct 2024 11:13:29 +0800 Subject: [PATCH] fix(quantizer_wsmeans): cluster distance isn't actually sorting as expected --- typescript/quantize/quantizer_wsmeans.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/typescript/quantize/quantizer_wsmeans.ts b/typescript/quantize/quantizer_wsmeans.ts index b910f6f8..89012800 100644 --- a/typescript/quantize/quantizer_wsmeans.ts +++ b/typescript/quantize/quantizer_wsmeans.ts @@ -19,7 +19,7 @@ import {LabPointProvider} from './lab_point_provider.js'; const MAX_ITERATIONS = 10; const MIN_MOVEMENT_DISTANCE = 3.0; - +const INCREASE_ORDER_SORTER = (a:number, b:number) => a - b /** * An image quantizer that improves on the speed of a standard K-Means algorithm * by implementing several optimizations, including deduping identical pixels @@ -134,7 +134,7 @@ export class QuantizerWsmeans { distanceToIndexMatrix[i][j].distance = distance; distanceToIndexMatrix[i][j].index = j; } - distanceToIndexMatrix[i].sort(); + distanceToIndexMatrix[i].sort(INCREASE_ORDER_SORTER); for (let j = 0; j < clusterCount; j++) { indexMatrix[i][j] = distanceToIndexMatrix[i][j].index; }