2020-08-20 02:05:34 +02:00
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
|
exports.isValidProbablitiy = exports.isValidNumber = exports.range = exports.getCenterPoint = exports.computeReshapedDimensions = exports.isDimensions = exports.round = exports.isEven = exports.isFloat = exports.isTensor4D = exports.isTensor3D = exports.isTensor2D = exports.isTensor1D = exports.isTensor = void 0;
|
|
|
|
const tf = require("@tensorflow/tfjs-core");
|
|
|
|
const classes_1 = require("../classes");
|
|
|
|
const Dimensions_1 = require("../classes/Dimensions");
|
|
|
|
function isTensor(tensor, dim) {
|
2020-08-18 14:04:33 +02:00
|
|
|
return tensor instanceof tf.Tensor && tensor.shape.length === dim;
|
|
|
|
}
|
2020-08-20 02:05:34 +02:00
|
|
|
exports.isTensor = isTensor;
|
|
|
|
function isTensor1D(tensor) {
|
2020-08-18 14:04:33 +02:00
|
|
|
return isTensor(tensor, 1);
|
|
|
|
}
|
2020-08-20 02:05:34 +02:00
|
|
|
exports.isTensor1D = isTensor1D;
|
|
|
|
function isTensor2D(tensor) {
|
2020-08-18 14:04:33 +02:00
|
|
|
return isTensor(tensor, 2);
|
|
|
|
}
|
2020-08-20 02:05:34 +02:00
|
|
|
exports.isTensor2D = isTensor2D;
|
|
|
|
function isTensor3D(tensor) {
|
2020-08-18 14:04:33 +02:00
|
|
|
return isTensor(tensor, 3);
|
|
|
|
}
|
2020-08-20 02:05:34 +02:00
|
|
|
exports.isTensor3D = isTensor3D;
|
|
|
|
function isTensor4D(tensor) {
|
2020-08-18 14:04:33 +02:00
|
|
|
return isTensor(tensor, 4);
|
|
|
|
}
|
2020-08-20 02:05:34 +02:00
|
|
|
exports.isTensor4D = isTensor4D;
|
|
|
|
function isFloat(num) {
|
2020-08-18 14:04:33 +02:00
|
|
|
return num % 1 !== 0;
|
|
|
|
}
|
2020-08-20 02:05:34 +02:00
|
|
|
exports.isFloat = isFloat;
|
|
|
|
function isEven(num) {
|
2020-08-18 14:04:33 +02:00
|
|
|
return num % 2 === 0;
|
|
|
|
}
|
2020-08-20 02:05:34 +02:00
|
|
|
exports.isEven = isEven;
|
|
|
|
function round(num, prec = 2) {
|
2020-08-18 14:04:33 +02:00
|
|
|
const f = Math.pow(10, prec);
|
|
|
|
return Math.floor(num * f) / f;
|
|
|
|
}
|
2020-08-20 02:05:34 +02:00
|
|
|
exports.round = round;
|
|
|
|
function isDimensions(obj) {
|
2020-08-18 14:04:33 +02:00
|
|
|
return obj && obj.width && obj.height;
|
|
|
|
}
|
2020-08-20 02:05:34 +02:00
|
|
|
exports.isDimensions = isDimensions;
|
|
|
|
function computeReshapedDimensions({ width, height }, inputSize) {
|
2020-08-18 14:04:33 +02:00
|
|
|
const scale = inputSize / Math.max(height, width);
|
2020-08-20 02:05:34 +02:00
|
|
|
return new Dimensions_1.Dimensions(Math.round(width * scale), Math.round(height * scale));
|
2020-08-18 14:04:33 +02:00
|
|
|
}
|
2020-08-20 02:05:34 +02:00
|
|
|
exports.computeReshapedDimensions = computeReshapedDimensions;
|
|
|
|
function getCenterPoint(pts) {
|
|
|
|
return pts.reduce((sum, pt) => sum.add(pt), new classes_1.Point(0, 0))
|
|
|
|
.div(new classes_1.Point(pts.length, pts.length));
|
2020-08-18 14:04:33 +02:00
|
|
|
}
|
2020-08-20 02:05:34 +02:00
|
|
|
exports.getCenterPoint = getCenterPoint;
|
|
|
|
function range(num, start, step) {
|
2020-08-18 14:04:33 +02:00
|
|
|
return Array(num).fill(0).map((_, i) => start + (i * step));
|
|
|
|
}
|
2020-08-20 02:05:34 +02:00
|
|
|
exports.range = range;
|
|
|
|
function isValidNumber(num) {
|
2020-08-18 14:04:33 +02:00
|
|
|
return !!num && num !== Infinity && num !== -Infinity && !isNaN(num) || num === 0;
|
|
|
|
}
|
2020-08-20 02:05:34 +02:00
|
|
|
exports.isValidNumber = isValidNumber;
|
|
|
|
function isValidProbablitiy(num) {
|
2020-08-18 14:04:33 +02:00
|
|
|
return isValidNumber(num) && 0 <= num && num <= 1.0;
|
|
|
|
}
|
2020-08-20 02:05:34 +02:00
|
|
|
exports.isValidProbablitiy = isValidProbablitiy;
|
2020-08-18 14:04:33 +02:00
|
|
|
//# sourceMappingURL=index.js.map
|