Da die Verarbeitung zeitaufwendig ist, stellt die Bibliothek einen Executor zur Verfügung, der eine Zukunft zurückgibt, um zu vermeiden, dass die Ausführung des Anrufers während der Verarbeitung blockiert wird.
Parallele Berechnungen werden für die Verwendung mehrerer Threads leicht unterstützt.
Die RadonTransformCalculator-Klasse berechnet die Transformationswerte und speichert sie in einem zweidimensionalen Array.
Nach der Verarbeitung können die Transformationswerte mit Hilfe der Array-Indizes analysiert werden, um auf sie zuzugreifen.
Diese Indizes können leicht in ein (Rho, Theta) (ρ, θ) Element übersetzt werden, indem die Funktion auf dem Ergebnisobjekt aufgerufen wird, das vom Typ RadonTransformResult ist.
Es ist auch möglich, die maximalen N-Werte zu erhalten, was die Möglichkeit gibt, Duplikate (unterschiedlich (ρ, θ), die sehr nahe sind) durch eine Toleranz zu verwerfen, und ein Filter kann gleichzeitig auf (ρ, θ) angewendet werden, um zuvor solche zu verwerfen, die unsere Bedingungen nicht erfüllen.
Wenn Sie zum Beispiel fast horizontale oder vertikale Linien suchen und es eine Diagonale mit einem sehr hohen Wert gibt, könnte dieser Wert verworfen werden.