image-js 0.0.0-next-e30968a2d8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +29 -0
- package/lib/IJS.d.ts +316 -0
- package/lib/IJS.d.ts.map +1 -0
- package/lib/IJS.js +534 -0
- package/lib/IJS.js.map +1 -0
- package/lib/Mask.d.ts +257 -0
- package/lib/Mask.d.ts.map +1 -0
- package/lib/Mask.js +338 -0
- package/lib/Mask.js.map +1 -0
- package/lib/compute/histogram.d.ts +20 -0
- package/lib/compute/histogram.d.ts.map +1 -0
- package/lib/compute/histogram.js +28 -0
- package/lib/compute/histogram.js.map +1 -0
- package/lib/compute/index.d.ts +2 -0
- package/lib/compute/index.d.ts.map +1 -0
- package/lib/compute/index.js +18 -0
- package/lib/compute/index.js.map +1 -0
- package/lib/filters/and.d.ts +17 -0
- package/lib/filters/and.d.ts.map +1 -0
- package/lib/filters/and.js +29 -0
- package/lib/filters/and.js.map +1 -0
- package/lib/filters/blur.d.ts +37 -0
- package/lib/filters/blur.d.ts.map +1 -0
- package/lib/filters/blur.js +22 -0
- package/lib/filters/blur.js.map +1 -0
- package/lib/filters/convolution.d.ts +79 -0
- package/lib/filters/convolution.d.ts.map +1 -0
- package/lib/filters/convolution.js +196 -0
- package/lib/filters/convolution.js.map +1 -0
- package/lib/filters/derivativeFilter.d.ts +40 -0
- package/lib/filters/derivativeFilter.d.ts.map +1 -0
- package/lib/filters/derivativeFilter.js +42 -0
- package/lib/filters/derivativeFilter.js.map +1 -0
- package/lib/filters/gaussianBlur.d.ts +59 -0
- package/lib/filters/gaussianBlur.d.ts.map +1 -0
- package/lib/filters/gaussianBlur.js +59 -0
- package/lib/filters/gaussianBlur.js.map +1 -0
- package/lib/filters/gradientFilter.d.ts +54 -0
- package/lib/filters/gradientFilter.d.ts.map +1 -0
- package/lib/filters/gradientFilter.js +58 -0
- package/lib/filters/gradientFilter.js.map +1 -0
- package/lib/filters/hypotenuse.d.ts +23 -0
- package/lib/filters/hypotenuse.d.ts.map +1 -0
- package/lib/filters/hypotenuse.js +46 -0
- package/lib/filters/hypotenuse.js.map +1 -0
- package/lib/filters/index.d.ts +11 -0
- package/lib/filters/index.d.ts.map +1 -0
- package/lib/filters/index.js +27 -0
- package/lib/filters/index.js.map +1 -0
- package/lib/filters/invert.d.ts +11 -0
- package/lib/filters/invert.d.ts.map +1 -0
- package/lib/filters/invert.js +37 -0
- package/lib/filters/invert.js.map +1 -0
- package/lib/filters/or.d.ts +17 -0
- package/lib/filters/or.d.ts.map +1 -0
- package/lib/filters/or.js +29 -0
- package/lib/filters/or.js.map +1 -0
- package/lib/filters/subtractImage.d.ts +13 -0
- package/lib/filters/subtractImage.d.ts.map +1 -0
- package/lib/filters/subtractImage.js +64 -0
- package/lib/filters/subtractImage.js.map +1 -0
- package/lib/geometry/index.d.ts +4 -0
- package/lib/geometry/index.d.ts.map +1 -0
- package/lib/geometry/index.js +20 -0
- package/lib/geometry/index.js.map +1 -0
- package/lib/geometry/resize.d.ts +52 -0
- package/lib/geometry/resize.d.ts.map +1 -0
- package/lib/geometry/resize.js +107 -0
- package/lib/geometry/resize.js.map +1 -0
- package/lib/geometry/rotate.d.ts +54 -0
- package/lib/geometry/rotate.d.ts.map +1 -0
- package/lib/geometry/rotate.js +44 -0
- package/lib/geometry/rotate.js.map +1 -0
- package/lib/geometry/transform.d.ts +46 -0
- package/lib/geometry/transform.d.ts.map +1 -0
- package/lib/geometry/transform.js +95 -0
- package/lib/geometry/transform.js.map +1 -0
- package/lib/index.d.ts +10 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +26 -0
- package/lib/index.js.map +1 -0
- package/lib/load/decode.d.ts +10 -0
- package/lib/load/decode.d.ts.map +1 -0
- package/lib/load/decode.js +33 -0
- package/lib/load/decode.js.map +1 -0
- package/lib/load/decodeJpeg.d.ts +9 -0
- package/lib/load/decodeJpeg.d.ts.map +1 -0
- package/lib/load/decodeJpeg.js +20 -0
- package/lib/load/decodeJpeg.js.map +1 -0
- package/lib/load/decodePng.d.ts +9 -0
- package/lib/load/decodePng.d.ts.map +1 -0
- package/lib/load/decodePng.js +72 -0
- package/lib/load/decodePng.js.map +1 -0
- package/lib/load/decodeTiff.d.ts +9 -0
- package/lib/load/decodeTiff.d.ts.map +1 -0
- package/lib/load/decodeTiff.js +64 -0
- package/lib/load/decodeTiff.js.map +1 -0
- package/lib/load/index.d.ts +8 -0
- package/lib/load/index.d.ts.map +1 -0
- package/lib/load/index.js +24 -0
- package/lib/load/index.js.map +1 -0
- package/lib/load/read.d.ts +17 -0
- package/lib/load/read.d.ts.map +1 -0
- package/lib/load/read.js +31 -0
- package/lib/load/read.js.map +1 -0
- package/lib/load/readCanvas.d.ts +3 -0
- package/lib/load/readCanvas.d.ts.map +1 -0
- package/lib/load/readCanvas.js +17 -0
- package/lib/load/readCanvas.js.map +1 -0
- package/lib/load/readImg.d.ts +3 -0
- package/lib/load/readImg.d.ts.map +1 -0
- package/lib/load/readImg.js +17 -0
- package/lib/load/readImg.js.map +1 -0
- package/lib/morphology/bottomHat.d.ts +19 -0
- package/lib/morphology/bottomHat.d.ts.map +1 -0
- package/lib/morphology/bottomHat.js +46 -0
- package/lib/morphology/bottomHat.js.map +1 -0
- package/lib/morphology/cannyEdgeDetector.d.ts +49 -0
- package/lib/morphology/cannyEdgeDetector.d.ts.map +1 -0
- package/lib/morphology/cannyEdgeDetector.js +157 -0
- package/lib/morphology/cannyEdgeDetector.js.map +1 -0
- package/lib/morphology/clearBorder.d.ts +22 -0
- package/lib/morphology/clearBorder.d.ts.map +1 -0
- package/lib/morphology/clearBorder.js +89 -0
- package/lib/morphology/clearBorder.js.map +1 -0
- package/lib/morphology/close.d.ts +19 -0
- package/lib/morphology/close.d.ts.map +1 -0
- package/lib/morphology/close.js +41 -0
- package/lib/morphology/close.js.map +1 -0
- package/lib/morphology/dilate.d.ts +20 -0
- package/lib/morphology/dilate.d.ts.map +1 -0
- package/lib/morphology/dilate.js +199 -0
- package/lib/morphology/dilate.js.map +1 -0
- package/lib/morphology/erode.d.ts +20 -0
- package/lib/morphology/erode.d.ts.map +1 -0
- package/lib/morphology/erode.js +199 -0
- package/lib/morphology/erode.js.map +1 -0
- package/lib/morphology/floodFill.d.ts +22 -0
- package/lib/morphology/floodFill.d.ts.map +1 -0
- package/lib/morphology/floodFill.js +20 -0
- package/lib/morphology/floodFill.js.map +1 -0
- package/lib/morphology/index.d.ts +11 -0
- package/lib/morphology/index.d.ts.map +1 -0
- package/lib/morphology/index.js +27 -0
- package/lib/morphology/index.js.map +1 -0
- package/lib/morphology/morphologicalGradient.d.ts +19 -0
- package/lib/morphology/morphologicalGradient.d.ts.map +1 -0
- package/lib/morphology/morphologicalGradient.js +43 -0
- package/lib/morphology/morphologicalGradient.js.map +1 -0
- package/lib/morphology/open.d.ts +19 -0
- package/lib/morphology/open.d.ts.map +1 -0
- package/lib/morphology/open.js +43 -0
- package/lib/morphology/open.js.map +1 -0
- package/lib/morphology/topHat.d.ts +19 -0
- package/lib/morphology/topHat.d.ts.map +1 -0
- package/lib/morphology/topHat.js +44 -0
- package/lib/morphology/topHat.js.map +1 -0
- package/lib/operations/convertColor.d.ts +32 -0
- package/lib/operations/convertColor.d.ts.map +1 -0
- package/lib/operations/convertColor.js +148 -0
- package/lib/operations/convertColor.js.map +1 -0
- package/lib/operations/convertDepth.d.ts +10 -0
- package/lib/operations/convertDepth.d.ts.map +1 -0
- package/lib/operations/convertDepth.js +60 -0
- package/lib/operations/convertDepth.js.map +1 -0
- package/lib/operations/copyTo.d.ts +29 -0
- package/lib/operations/copyTo.d.ts.map +1 -0
- package/lib/operations/copyTo.js +51 -0
- package/lib/operations/copyTo.js.map +1 -0
- package/lib/operations/grey.d.ts +50 -0
- package/lib/operations/grey.d.ts.map +1 -0
- package/lib/operations/grey.js +86 -0
- package/lib/operations/grey.js.map +1 -0
- package/lib/operations/greyAlgorithms.d.ts +149 -0
- package/lib/operations/greyAlgorithms.d.ts.map +1 -0
- package/lib/operations/greyAlgorithms.js +242 -0
- package/lib/operations/greyAlgorithms.js.map +1 -0
- package/lib/operations/index.d.ts +8 -0
- package/lib/operations/index.d.ts.map +1 -0
- package/lib/operations/index.js +24 -0
- package/lib/operations/index.js.map +1 -0
- package/lib/operations/merge.d.ts +9 -0
- package/lib/operations/merge.d.ts.map +1 -0
- package/lib/operations/merge.js +51 -0
- package/lib/operations/merge.js.map +1 -0
- package/lib/operations/split.d.ts +9 -0
- package/lib/operations/split.d.ts.map +1 -0
- package/lib/operations/split.js +23 -0
- package/lib/operations/split.js.map +1 -0
- package/lib/operations/threshold.d.ts +58 -0
- package/lib/operations/threshold.d.ts.map +1 -0
- package/lib/operations/threshold.js +114 -0
- package/lib/operations/threshold.js.map +1 -0
- package/lib/operations/thresholds/huang.d.ts +8 -0
- package/lib/operations/thresholds/huang.d.ts.map +1 -0
- package/lib/operations/thresholds/huang.js +81 -0
- package/lib/operations/thresholds/huang.js.map +1 -0
- package/lib/operations/thresholds/intermodes.d.ts +8 -0
- package/lib/operations/thresholds/intermodes.d.ts.map +1 -0
- package/lib/operations/thresholds/intermodes.js +62 -0
- package/lib/operations/thresholds/intermodes.js.map +1 -0
- package/lib/operations/thresholds/isodata.d.ts +8 -0
- package/lib/operations/thresholds/isodata.d.ts.map +1 -0
- package/lib/operations/thresholds/isodata.js +55 -0
- package/lib/operations/thresholds/isodata.js.map +1 -0
- package/lib/operations/thresholds/li.d.ts +9 -0
- package/lib/operations/thresholds/li.d.ts.map +1 -0
- package/lib/operations/thresholds/li.js +77 -0
- package/lib/operations/thresholds/li.js.map +1 -0
- package/lib/operations/thresholds/maxEntropy.d.ts +9 -0
- package/lib/operations/thresholds/maxEntropy.d.ts.map +1 -0
- package/lib/operations/thresholds/maxEntropy.js +80 -0
- package/lib/operations/thresholds/maxEntropy.js.map +1 -0
- package/lib/operations/thresholds/mean.d.ts +9 -0
- package/lib/operations/thresholds/mean.d.ts.map +1 -0
- package/lib/operations/thresholds/mean.js +26 -0
- package/lib/operations/thresholds/mean.js.map +1 -0
- package/lib/operations/thresholds/minError.d.ts +9 -0
- package/lib/operations/thresholds/minError.d.ts.map +1 -0
- package/lib/operations/thresholds/minError.js +90 -0
- package/lib/operations/thresholds/minError.js.map +1 -0
- package/lib/operations/thresholds/minimum.d.ts +8 -0
- package/lib/operations/thresholds/minimum.d.ts.map +1 -0
- package/lib/operations/thresholds/minimum.js +78 -0
- package/lib/operations/thresholds/minimum.js.map +1 -0
- package/lib/operations/thresholds/moments.d.ts +9 -0
- package/lib/operations/thresholds/moments.d.ts.map +1 -0
- package/lib/operations/thresholds/moments.js +62 -0
- package/lib/operations/thresholds/moments.js.map +1 -0
- package/lib/operations/thresholds/otsu.d.ts +9 -0
- package/lib/operations/thresholds/otsu.d.ts.map +1 -0
- package/lib/operations/thresholds/otsu.js +43 -0
- package/lib/operations/thresholds/otsu.js.map +1 -0
- package/lib/operations/thresholds/percentile.d.ts +8 -0
- package/lib/operations/thresholds/percentile.d.ts.map +1 -0
- package/lib/operations/thresholds/percentile.js +39 -0
- package/lib/operations/thresholds/percentile.js.map +1 -0
- package/lib/operations/thresholds/renyiEntropy.d.ts +9 -0
- package/lib/operations/thresholds/renyiEntropy.d.ts.map +1 -0
- package/lib/operations/thresholds/renyiEntropy.js +133 -0
- package/lib/operations/thresholds/renyiEntropy.js.map +1 -0
- package/lib/operations/thresholds/shanbhag.d.ts +10 -0
- package/lib/operations/thresholds/shanbhag.d.ts.map +1 -0
- package/lib/operations/thresholds/shanbhag.js +77 -0
- package/lib/operations/thresholds/shanbhag.js.map +1 -0
- package/lib/operations/thresholds/triangle.d.ts +8 -0
- package/lib/operations/thresholds/triangle.d.ts.map +1 -0
- package/lib/operations/thresholds/triangle.js +113 -0
- package/lib/operations/thresholds/triangle.js.map +1 -0
- package/lib/operations/thresholds/yen.d.ts +9 -0
- package/lib/operations/thresholds/yen.d.ts.map +1 -0
- package/lib/operations/thresholds/yen.js +62 -0
- package/lib/operations/thresholds/yen.js.map +1 -0
- package/lib/roi/RoiManager.d.ts +32 -0
- package/lib/roi/RoiManager.d.ts.map +1 -0
- package/lib/roi/RoiManager.js +10 -0
- package/lib/roi/RoiManager.js.map +1 -0
- package/lib/roi/RoiMapManager.d.ts +33 -0
- package/lib/roi/RoiMapManager.d.ts.map +1 -0
- package/lib/roi/RoiMapManager.js +17 -0
- package/lib/roi/RoiMapManager.js.map +1 -0
- package/lib/roi/colorRois.d.ts +39 -0
- package/lib/roi/colorRois.d.ts.map +1 -0
- package/lib/roi/colorRois.js +48 -0
- package/lib/roi/colorRois.js.map +1 -0
- package/lib/roi/fromMask.d.ts +19 -0
- package/lib/roi/fromMask.d.ts.map +1 -0
- package/lib/roi/fromMask.js +148 -0
- package/lib/roi/fromMask.js.map +1 -0
- package/lib/roi/index.d.ts +5 -0
- package/lib/roi/index.d.ts.map +1 -0
- package/lib/roi/index.js +21 -0
- package/lib/roi/index.js.map +1 -0
- package/lib/roi/utils/colorMaps/getBinaryMap.d.ts +37 -0
- package/lib/roi/utils/colorMaps/getBinaryMap.d.ts.map +1 -0
- package/lib/roi/utils/colorMaps/getBinaryMap.js +34 -0
- package/lib/roi/utils/colorMaps/getBinaryMap.js.map +1 -0
- package/lib/roi/utils/colorMaps/getRainbowMap.d.ts +25 -0
- package/lib/roi/utils/colorMaps/getRainbowMap.d.ts.map +1 -0
- package/lib/roi/utils/colorMaps/getRainbowMap.js +51 -0
- package/lib/roi/utils/colorMaps/getRainbowMap.js.map +1 -0
- package/lib/roi/utils/colorMaps/getSaturationMap.d.ts +42 -0
- package/lib/roi/utils/colorMaps/getSaturationMap.d.ts.map +1 -0
- package/lib/roi/utils/colorMaps/getSaturationMap.js +39 -0
- package/lib/roi/utils/colorMaps/getSaturationMap.js.map +1 -0
- package/lib/roi/utils/constants.d.ts +4 -0
- package/lib/roi/utils/constants.d.ts.map +1 -0
- package/lib/roi/utils/constants.js +7 -0
- package/lib/roi/utils/constants.js.map +1 -0
- package/lib/roi/utils/getColorMap.d.ts +32 -0
- package/lib/roi/utils/getColorMap.d.ts.map +1 -0
- package/lib/roi/utils/getColorMap.js +28 -0
- package/lib/roi/utils/getColorMap.js.map +1 -0
- package/lib/roi/utils/hsvToRgb.d.ts +21 -0
- package/lib/roi/utils/hsvToRgb.d.ts.map +1 -0
- package/lib/roi/utils/hsvToRgb.js +58 -0
- package/lib/roi/utils/hsvToRgb.js.map +1 -0
- package/lib/roi/utils/rgbToNumber.d.ts +8 -0
- package/lib/roi/utils/rgbToNumber.d.ts.map +1 -0
- package/lib/roi/utils/rgbToNumber.js +14 -0
- package/lib/roi/utils/rgbToNumber.js.map +1 -0
- package/lib/save/encode.d.ts +38 -0
- package/lib/save/encode.d.ts.map +1 -0
- package/lib/save/encode.js +33 -0
- package/lib/save/encode.js.map +1 -0
- package/lib/save/encodeJpeg.d.ts +18 -0
- package/lib/save/encodeJpeg.d.ts.map +1 -0
- package/lib/save/encodeJpeg.js +26 -0
- package/lib/save/encodeJpeg.js.map +1 -0
- package/lib/save/encodePng.d.ts +12 -0
- package/lib/save/encodePng.d.ts.map +1 -0
- package/lib/save/encodePng.js +16 -0
- package/lib/save/encodePng.js.map +1 -0
- package/lib/save/index.d.ts +6 -0
- package/lib/save/index.d.ts.map +1 -0
- package/lib/save/index.js +22 -0
- package/lib/save/index.js.map +1 -0
- package/lib/save/write.d.ts +27 -0
- package/lib/save/write.d.ts.map +1 -0
- package/lib/save/write.js +73 -0
- package/lib/save/write.js.map +1 -0
- package/lib/save/writeCanvas.d.ts +42 -0
- package/lib/save/writeCanvas.d.ts.map +1 -0
- package/lib/save/writeCanvas.js +29 -0
- package/lib/save/writeCanvas.js.map +1 -0
- package/lib/utils/boolToNumber.d.ts +9 -0
- package/lib/utils/boolToNumber.d.ts.map +1 -0
- package/lib/utils/boolToNumber.js +21 -0
- package/lib/utils/boolToNumber.js.map +1 -0
- package/lib/utils/borderIterator.d.ts +9 -0
- package/lib/utils/borderIterator.d.ts.map +1 -0
- package/lib/utils/borderIterator.js +25 -0
- package/lib/utils/borderIterator.js.map +1 -0
- package/lib/utils/checkKernel.d.ts +8 -0
- package/lib/utils/checkKernel.d.ts.map +1 -0
- package/lib/utils/checkKernel.js +16 -0
- package/lib/utils/checkKernel.js.map +1 -0
- package/lib/utils/checkProcessable.d.ts +18 -0
- package/lib/utils/checkProcessable.d.ts.map +1 -0
- package/lib/utils/checkProcessable.js +65 -0
- package/lib/utils/checkProcessable.js.map +1 -0
- package/lib/utils/clamp.d.ts +10 -0
- package/lib/utils/clamp.d.ts.map +1 -0
- package/lib/utils/clamp.js +38 -0
- package/lib/utils/clamp.js.map +1 -0
- package/lib/utils/colorModels.d.ts +15 -0
- package/lib/utils/colorModels.d.ts.map +1 -0
- package/lib/utils/colorModels.js +39 -0
- package/lib/utils/colorModels.js.map +1 -0
- package/lib/utils/copyData.d.ts +4 -0
- package/lib/utils/copyData.d.ts.map +1 -0
- package/lib/utils/copyData.js +20 -0
- package/lib/utils/copyData.js.map +1 -0
- package/lib/utils/getIndex.d.ts +12 -0
- package/lib/utils/getIndex.d.ts.map +1 -0
- package/lib/utils/getIndex.js +17 -0
- package/lib/utils/getIndex.js.map +1 -0
- package/lib/utils/getOutputImage.d.ts +61 -0
- package/lib/utils/getOutputImage.d.ts.map +1 -0
- package/lib/utils/getOutputImage.js +150 -0
- package/lib/utils/getOutputImage.js.map +1 -0
- package/lib/utils/interpolateBorder.d.ts +44 -0
- package/lib/utils/interpolateBorder.d.ts.map +1 -0
- package/lib/utils/interpolateBorder.js +143 -0
- package/lib/utils/interpolateBorder.js.map +1 -0
- package/lib/utils/interpolatePixel.d.ts +18 -0
- package/lib/utils/interpolatePixel.d.ts.map +1 -0
- package/lib/utils/interpolatePixel.js +122 -0
- package/lib/utils/interpolatePixel.js.map +1 -0
- package/lib/utils/kernels.d.ts +13 -0
- package/lib/utils/kernels.d.ts.map +1 -0
- package/lib/utils/kernels.js +66 -0
- package/lib/utils/kernels.js.map +1 -0
- package/lib/utils/kinds.d.ts +9 -0
- package/lib/utils/kinds.d.ts.map +1 -0
- package/lib/utils/kinds.js +23 -0
- package/lib/utils/kinds.js.map +1 -0
- package/lib/utils/round.d.ts +2 -0
- package/lib/utils/round.d.ts.map +1 -0
- package/lib/utils/round.js +11 -0
- package/lib/utils/round.js.map +1 -0
- package/lib/utils/validators.d.ts +23 -0
- package/lib/utils/validators.d.ts.map +1 -0
- package/lib/utils/validators.js +40 -0
- package/lib/utils/validators.js.map +1 -0
- package/lib-esm/IJS.d.ts +316 -0
- package/lib-esm/IJS.d.ts.map +1 -0
- package/lib-esm/IJS.js +526 -0
- package/lib-esm/IJS.js.map +1 -0
- package/lib-esm/Mask.d.ts +257 -0
- package/lib-esm/Mask.d.ts.map +1 -0
- package/lib-esm/Mask.js +334 -0
- package/lib-esm/Mask.js.map +1 -0
- package/lib-esm/compute/histogram.d.ts +20 -0
- package/lib-esm/compute/histogram.d.ts.map +1 -0
- package/lib-esm/compute/histogram.js +24 -0
- package/lib-esm/compute/histogram.js.map +1 -0
- package/lib-esm/compute/index.d.ts +2 -0
- package/lib-esm/compute/index.d.ts.map +1 -0
- package/lib-esm/compute/index.js +2 -0
- package/lib-esm/compute/index.js.map +1 -0
- package/lib-esm/filters/and.d.ts +17 -0
- package/lib-esm/filters/and.d.ts.map +1 -0
- package/lib-esm/filters/and.js +25 -0
- package/lib-esm/filters/and.js.map +1 -0
- package/lib-esm/filters/blur.d.ts +37 -0
- package/lib-esm/filters/blur.d.ts.map +1 -0
- package/lib-esm/filters/blur.js +18 -0
- package/lib-esm/filters/blur.js.map +1 -0
- package/lib-esm/filters/convolution.d.ts +79 -0
- package/lib-esm/filters/convolution.d.ts.map +1 -0
- package/lib-esm/filters/convolution.js +189 -0
- package/lib-esm/filters/convolution.js.map +1 -0
- package/lib-esm/filters/derivativeFilter.d.ts +40 -0
- package/lib-esm/filters/derivativeFilter.d.ts.map +1 -0
- package/lib-esm/filters/derivativeFilter.js +38 -0
- package/lib-esm/filters/derivativeFilter.js.map +1 -0
- package/lib-esm/filters/gaussianBlur.d.ts +59 -0
- package/lib-esm/filters/gaussianBlur.d.ts.map +1 -0
- package/lib-esm/filters/gaussianBlur.js +55 -0
- package/lib-esm/filters/gaussianBlur.js.map +1 -0
- package/lib-esm/filters/gradientFilter.d.ts +54 -0
- package/lib-esm/filters/gradientFilter.d.ts.map +1 -0
- package/lib-esm/filters/gradientFilter.js +51 -0
- package/lib-esm/filters/gradientFilter.js.map +1 -0
- package/lib-esm/filters/hypotenuse.d.ts +23 -0
- package/lib-esm/filters/hypotenuse.d.ts.map +1 -0
- package/lib-esm/filters/hypotenuse.js +39 -0
- package/lib-esm/filters/hypotenuse.js.map +1 -0
- package/lib-esm/filters/index.d.ts +11 -0
- package/lib-esm/filters/index.d.ts.map +1 -0
- package/lib-esm/filters/index.js +11 -0
- package/lib-esm/filters/index.js.map +1 -0
- package/lib-esm/filters/invert.d.ts +11 -0
- package/lib-esm/filters/invert.d.ts.map +1 -0
- package/lib-esm/filters/invert.js +33 -0
- package/lib-esm/filters/invert.js.map +1 -0
- package/lib-esm/filters/or.d.ts +17 -0
- package/lib-esm/filters/or.d.ts.map +1 -0
- package/lib-esm/filters/or.js +25 -0
- package/lib-esm/filters/or.js.map +1 -0
- package/lib-esm/filters/subtractImage.d.ts +13 -0
- package/lib-esm/filters/subtractImage.d.ts.map +1 -0
- package/lib-esm/filters/subtractImage.js +57 -0
- package/lib-esm/filters/subtractImage.js.map +1 -0
- package/lib-esm/geometry/index.d.ts +4 -0
- package/lib-esm/geometry/index.d.ts.map +1 -0
- package/lib-esm/geometry/index.js +4 -0
- package/lib-esm/geometry/index.js.map +1 -0
- package/lib-esm/geometry/resize.d.ts +52 -0
- package/lib-esm/geometry/resize.d.ts.map +1 -0
- package/lib-esm/geometry/resize.js +103 -0
- package/lib-esm/geometry/resize.js.map +1 -0
- package/lib-esm/geometry/rotate.d.ts +54 -0
- package/lib-esm/geometry/rotate.d.ts.map +1 -0
- package/lib-esm/geometry/rotate.js +40 -0
- package/lib-esm/geometry/rotate.js.map +1 -0
- package/lib-esm/geometry/transform.d.ts +46 -0
- package/lib-esm/geometry/transform.d.ts.map +1 -0
- package/lib-esm/geometry/transform.js +91 -0
- package/lib-esm/geometry/transform.js.map +1 -0
- package/lib-esm/index.d.ts +10 -0
- package/lib-esm/index.d.ts.map +1 -0
- package/lib-esm/index.js +10 -0
- package/lib-esm/index.js.map +1 -0
- package/lib-esm/load/decode.d.ts +10 -0
- package/lib-esm/load/decode.d.ts.map +1 -0
- package/lib-esm/load/decode.js +26 -0
- package/lib-esm/load/decode.js.map +1 -0
- package/lib-esm/load/decodeJpeg.d.ts +9 -0
- package/lib-esm/load/decodeJpeg.d.ts.map +1 -0
- package/lib-esm/load/decodeJpeg.js +16 -0
- package/lib-esm/load/decodeJpeg.js.map +1 -0
- package/lib-esm/load/decodePng.d.ts +9 -0
- package/lib-esm/load/decodePng.d.ts.map +1 -0
- package/lib-esm/load/decodePng.js +68 -0
- package/lib-esm/load/decodePng.js.map +1 -0
- package/lib-esm/load/decodeTiff.d.ts +9 -0
- package/lib-esm/load/decodeTiff.d.ts.map +1 -0
- package/lib-esm/load/decodeTiff.js +60 -0
- package/lib-esm/load/decodeTiff.js.map +1 -0
- package/lib-esm/load/index.d.ts +8 -0
- package/lib-esm/load/index.d.ts.map +1 -0
- package/lib-esm/load/index.js +8 -0
- package/lib-esm/load/index.js.map +1 -0
- package/lib-esm/load/read.d.ts +17 -0
- package/lib-esm/load/read.d.ts.map +1 -0
- package/lib-esm/load/read.js +23 -0
- package/lib-esm/load/read.js.map +1 -0
- package/lib-esm/load/readCanvas.d.ts +3 -0
- package/lib-esm/load/readCanvas.d.ts.map +1 -0
- package/lib-esm/load/readCanvas.js +13 -0
- package/lib-esm/load/readCanvas.js.map +1 -0
- package/lib-esm/load/readImg.d.ts +3 -0
- package/lib-esm/load/readImg.d.ts.map +1 -0
- package/lib-esm/load/readImg.js +13 -0
- package/lib-esm/load/readImg.js.map +1 -0
- package/lib-esm/morphology/bottomHat.d.ts +19 -0
- package/lib-esm/morphology/bottomHat.d.ts.map +1 -0
- package/lib-esm/morphology/bottomHat.js +39 -0
- package/lib-esm/morphology/bottomHat.js.map +1 -0
- package/lib-esm/morphology/cannyEdgeDetector.d.ts +49 -0
- package/lib-esm/morphology/cannyEdgeDetector.d.ts.map +1 -0
- package/lib-esm/morphology/cannyEdgeDetector.js +149 -0
- package/lib-esm/morphology/cannyEdgeDetector.js.map +1 -0
- package/lib-esm/morphology/clearBorder.d.ts +22 -0
- package/lib-esm/morphology/clearBorder.d.ts.map +1 -0
- package/lib-esm/morphology/clearBorder.js +85 -0
- package/lib-esm/morphology/clearBorder.js.map +1 -0
- package/lib-esm/morphology/close.d.ts +19 -0
- package/lib-esm/morphology/close.d.ts.map +1 -0
- package/lib-esm/morphology/close.js +34 -0
- package/lib-esm/morphology/close.js.map +1 -0
- package/lib-esm/morphology/dilate.d.ts +20 -0
- package/lib-esm/morphology/dilate.d.ts.map +1 -0
- package/lib-esm/morphology/dilate.js +192 -0
- package/lib-esm/morphology/dilate.js.map +1 -0
- package/lib-esm/morphology/erode.d.ts +20 -0
- package/lib-esm/morphology/erode.d.ts.map +1 -0
- package/lib-esm/morphology/erode.js +192 -0
- package/lib-esm/morphology/erode.js.map +1 -0
- package/lib-esm/morphology/floodFill.d.ts +22 -0
- package/lib-esm/morphology/floodFill.d.ts.map +1 -0
- package/lib-esm/morphology/floodFill.js +16 -0
- package/lib-esm/morphology/floodFill.js.map +1 -0
- package/lib-esm/morphology/index.d.ts +11 -0
- package/lib-esm/morphology/index.d.ts.map +1 -0
- package/lib-esm/morphology/index.js +11 -0
- package/lib-esm/morphology/index.js.map +1 -0
- package/lib-esm/morphology/morphologicalGradient.d.ts +19 -0
- package/lib-esm/morphology/morphologicalGradient.d.ts.map +1 -0
- package/lib-esm/morphology/morphologicalGradient.js +36 -0
- package/lib-esm/morphology/morphologicalGradient.js.map +1 -0
- package/lib-esm/morphology/open.d.ts +19 -0
- package/lib-esm/morphology/open.d.ts.map +1 -0
- package/lib-esm/morphology/open.js +36 -0
- package/lib-esm/morphology/open.js.map +1 -0
- package/lib-esm/morphology/topHat.d.ts +19 -0
- package/lib-esm/morphology/topHat.d.ts.map +1 -0
- package/lib-esm/morphology/topHat.js +37 -0
- package/lib-esm/morphology/topHat.js.map +1 -0
- package/lib-esm/operations/convertColor.d.ts +32 -0
- package/lib-esm/operations/convertColor.d.ts.map +1 -0
- package/lib-esm/operations/convertColor.js +142 -0
- package/lib-esm/operations/convertColor.js.map +1 -0
- package/lib-esm/operations/convertDepth.d.ts +10 -0
- package/lib-esm/operations/convertDepth.d.ts.map +1 -0
- package/lib-esm/operations/convertDepth.js +56 -0
- package/lib-esm/operations/convertDepth.js.map +1 -0
- package/lib-esm/operations/copyTo.d.ts +29 -0
- package/lib-esm/operations/copyTo.d.ts.map +1 -0
- package/lib-esm/operations/copyTo.js +48 -0
- package/lib-esm/operations/copyTo.js.map +1 -0
- package/lib-esm/operations/grey.d.ts +50 -0
- package/lib-esm/operations/grey.d.ts.map +1 -0
- package/lib-esm/operations/grey.js +60 -0
- package/lib-esm/operations/grey.js.map +1 -0
- package/lib-esm/operations/greyAlgorithms.d.ts +149 -0
- package/lib-esm/operations/greyAlgorithms.d.ts.map +1 -0
- package/lib-esm/operations/greyAlgorithms.js +223 -0
- package/lib-esm/operations/greyAlgorithms.js.map +1 -0
- package/lib-esm/operations/index.d.ts +8 -0
- package/lib-esm/operations/index.d.ts.map +1 -0
- package/lib-esm/operations/index.js +8 -0
- package/lib-esm/operations/index.js.map +1 -0
- package/lib-esm/operations/merge.d.ts +9 -0
- package/lib-esm/operations/merge.d.ts.map +1 -0
- package/lib-esm/operations/merge.js +47 -0
- package/lib-esm/operations/merge.js.map +1 -0
- package/lib-esm/operations/split.d.ts +9 -0
- package/lib-esm/operations/split.d.ts.map +1 -0
- package/lib-esm/operations/split.js +19 -0
- package/lib-esm/operations/split.js.map +1 -0
- package/lib-esm/operations/threshold.d.ts +58 -0
- package/lib-esm/operations/threshold.d.ts.map +1 -0
- package/lib-esm/operations/threshold.js +106 -0
- package/lib-esm/operations/threshold.js.map +1 -0
- package/lib-esm/operations/thresholds/huang.d.ts +8 -0
- package/lib-esm/operations/thresholds/huang.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/huang.js +78 -0
- package/lib-esm/operations/thresholds/huang.js.map +1 -0
- package/lib-esm/operations/thresholds/intermodes.d.ts +8 -0
- package/lib-esm/operations/thresholds/intermodes.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/intermodes.js +59 -0
- package/lib-esm/operations/thresholds/intermodes.js.map +1 -0
- package/lib-esm/operations/thresholds/isodata.d.ts +8 -0
- package/lib-esm/operations/thresholds/isodata.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/isodata.js +52 -0
- package/lib-esm/operations/thresholds/isodata.js.map +1 -0
- package/lib-esm/operations/thresholds/li.d.ts +9 -0
- package/lib-esm/operations/thresholds/li.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/li.js +74 -0
- package/lib-esm/operations/thresholds/li.js.map +1 -0
- package/lib-esm/operations/thresholds/maxEntropy.d.ts +9 -0
- package/lib-esm/operations/thresholds/maxEntropy.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/maxEntropy.js +77 -0
- package/lib-esm/operations/thresholds/maxEntropy.js.map +1 -0
- package/lib-esm/operations/thresholds/mean.d.ts +9 -0
- package/lib-esm/operations/thresholds/mean.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/mean.js +23 -0
- package/lib-esm/operations/thresholds/mean.js.map +1 -0
- package/lib-esm/operations/thresholds/minError.d.ts +9 -0
- package/lib-esm/operations/thresholds/minError.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/minError.js +87 -0
- package/lib-esm/operations/thresholds/minError.js.map +1 -0
- package/lib-esm/operations/thresholds/minimum.d.ts +8 -0
- package/lib-esm/operations/thresholds/minimum.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/minimum.js +75 -0
- package/lib-esm/operations/thresholds/minimum.js.map +1 -0
- package/lib-esm/operations/thresholds/moments.d.ts +9 -0
- package/lib-esm/operations/thresholds/moments.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/moments.js +59 -0
- package/lib-esm/operations/thresholds/moments.js.map +1 -0
- package/lib-esm/operations/thresholds/otsu.d.ts +9 -0
- package/lib-esm/operations/thresholds/otsu.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/otsu.js +39 -0
- package/lib-esm/operations/thresholds/otsu.js.map +1 -0
- package/lib-esm/operations/thresholds/percentile.d.ts +8 -0
- package/lib-esm/operations/thresholds/percentile.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/percentile.js +36 -0
- package/lib-esm/operations/thresholds/percentile.js.map +1 -0
- package/lib-esm/operations/thresholds/renyiEntropy.d.ts +9 -0
- package/lib-esm/operations/thresholds/renyiEntropy.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/renyiEntropy.js +130 -0
- package/lib-esm/operations/thresholds/renyiEntropy.js.map +1 -0
- package/lib-esm/operations/thresholds/shanbhag.d.ts +10 -0
- package/lib-esm/operations/thresholds/shanbhag.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/shanbhag.js +74 -0
- package/lib-esm/operations/thresholds/shanbhag.js.map +1 -0
- package/lib-esm/operations/thresholds/triangle.d.ts +8 -0
- package/lib-esm/operations/thresholds/triangle.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/triangle.js +109 -0
- package/lib-esm/operations/thresholds/triangle.js.map +1 -0
- package/lib-esm/operations/thresholds/yen.d.ts +9 -0
- package/lib-esm/operations/thresholds/yen.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/yen.js +59 -0
- package/lib-esm/operations/thresholds/yen.js.map +1 -0
- package/lib-esm/roi/RoiManager.d.ts +32 -0
- package/lib-esm/roi/RoiManager.d.ts.map +1 -0
- package/lib-esm/roi/RoiManager.js +7 -0
- package/lib-esm/roi/RoiManager.js.map +1 -0
- package/lib-esm/roi/RoiMapManager.d.ts +33 -0
- package/lib-esm/roi/RoiMapManager.d.ts.map +1 -0
- package/lib-esm/roi/RoiMapManager.js +13 -0
- package/lib-esm/roi/RoiMapManager.js.map +1 -0
- package/lib-esm/roi/colorRois.d.ts +39 -0
- package/lib-esm/roi/colorRois.d.ts.map +1 -0
- package/lib-esm/roi/colorRois.js +44 -0
- package/lib-esm/roi/colorRois.js.map +1 -0
- package/lib-esm/roi/fromMask.d.ts +19 -0
- package/lib-esm/roi/fromMask.d.ts.map +1 -0
- package/lib-esm/roi/fromMask.js +144 -0
- package/lib-esm/roi/fromMask.js.map +1 -0
- package/lib-esm/roi/index.d.ts +5 -0
- package/lib-esm/roi/index.d.ts.map +1 -0
- package/lib-esm/roi/index.js +5 -0
- package/lib-esm/roi/index.js.map +1 -0
- package/lib-esm/roi/utils/colorMaps/getBinaryMap.d.ts +37 -0
- package/lib-esm/roi/utils/colorMaps/getBinaryMap.d.ts.map +1 -0
- package/lib-esm/roi/utils/colorMaps/getBinaryMap.js +30 -0
- package/lib-esm/roi/utils/colorMaps/getBinaryMap.js.map +1 -0
- package/lib-esm/roi/utils/colorMaps/getRainbowMap.d.ts +25 -0
- package/lib-esm/roi/utils/colorMaps/getRainbowMap.d.ts.map +1 -0
- package/lib-esm/roi/utils/colorMaps/getRainbowMap.js +47 -0
- package/lib-esm/roi/utils/colorMaps/getRainbowMap.js.map +1 -0
- package/lib-esm/roi/utils/colorMaps/getSaturationMap.d.ts +42 -0
- package/lib-esm/roi/utils/colorMaps/getSaturationMap.d.ts.map +1 -0
- package/lib-esm/roi/utils/colorMaps/getSaturationMap.js +35 -0
- package/lib-esm/roi/utils/colorMaps/getSaturationMap.js.map +1 -0
- package/lib-esm/roi/utils/constants.d.ts +4 -0
- package/lib-esm/roi/utils/constants.d.ts.map +1 -0
- package/lib-esm/roi/utils/constants.js +4 -0
- package/lib-esm/roi/utils/constants.js.map +1 -0
- package/lib-esm/roi/utils/getColorMap.d.ts +32 -0
- package/lib-esm/roi/utils/getColorMap.d.ts.map +1 -0
- package/lib-esm/roi/utils/getColorMap.js +24 -0
- package/lib-esm/roi/utils/getColorMap.js.map +1 -0
- package/lib-esm/roi/utils/hsvToRgb.d.ts +21 -0
- package/lib-esm/roi/utils/hsvToRgb.d.ts.map +1 -0
- package/lib-esm/roi/utils/hsvToRgb.js +54 -0
- package/lib-esm/roi/utils/hsvToRgb.js.map +1 -0
- package/lib-esm/roi/utils/rgbToNumber.d.ts +8 -0
- package/lib-esm/roi/utils/rgbToNumber.d.ts.map +1 -0
- package/lib-esm/roi/utils/rgbToNumber.js +10 -0
- package/lib-esm/roi/utils/rgbToNumber.js.map +1 -0
- package/lib-esm/save/encode.d.ts +38 -0
- package/lib-esm/save/encode.d.ts.map +1 -0
- package/lib-esm/save/encode.js +29 -0
- package/lib-esm/save/encode.js.map +1 -0
- package/lib-esm/save/encodeJpeg.d.ts +18 -0
- package/lib-esm/save/encodeJpeg.d.ts.map +1 -0
- package/lib-esm/save/encodeJpeg.js +22 -0
- package/lib-esm/save/encodeJpeg.js.map +1 -0
- package/lib-esm/save/encodePng.d.ts +12 -0
- package/lib-esm/save/encodePng.d.ts.map +1 -0
- package/lib-esm/save/encodePng.js +12 -0
- package/lib-esm/save/encodePng.js.map +1 -0
- package/lib-esm/save/index.d.ts +6 -0
- package/lib-esm/save/index.d.ts.map +1 -0
- package/lib-esm/save/index.js +6 -0
- package/lib-esm/save/index.js.map +1 -0
- package/lib-esm/save/write.d.ts +27 -0
- package/lib-esm/save/write.d.ts.map +1 -0
- package/lib-esm/save/write.js +65 -0
- package/lib-esm/save/write.js.map +1 -0
- package/lib-esm/save/writeCanvas.d.ts +42 -0
- package/lib-esm/save/writeCanvas.d.ts.map +1 -0
- package/lib-esm/save/writeCanvas.js +25 -0
- package/lib-esm/save/writeCanvas.js.map +1 -0
- package/lib-esm/utils/boolToNumber.d.ts +9 -0
- package/lib-esm/utils/boolToNumber.d.ts.map +1 -0
- package/lib-esm/utils/boolToNumber.js +17 -0
- package/lib-esm/utils/boolToNumber.js.map +1 -0
- package/lib-esm/utils/borderIterator.d.ts +9 -0
- package/lib-esm/utils/borderIterator.d.ts.map +1 -0
- package/lib-esm/utils/borderIterator.js +21 -0
- package/lib-esm/utils/borderIterator.js.map +1 -0
- package/lib-esm/utils/checkKernel.d.ts +8 -0
- package/lib-esm/utils/checkKernel.d.ts.map +1 -0
- package/lib-esm/utils/checkKernel.js +12 -0
- package/lib-esm/utils/checkKernel.js.map +1 -0
- package/lib-esm/utils/checkProcessable.d.ts +18 -0
- package/lib-esm/utils/checkProcessable.d.ts.map +1 -0
- package/lib-esm/utils/checkProcessable.js +62 -0
- package/lib-esm/utils/checkProcessable.js.map +1 -0
- package/lib-esm/utils/clamp.d.ts +10 -0
- package/lib-esm/utils/clamp.d.ts.map +1 -0
- package/lib-esm/utils/clamp.js +34 -0
- package/lib-esm/utils/clamp.js.map +1 -0
- package/lib-esm/utils/colorModels.d.ts +15 -0
- package/lib-esm/utils/colorModels.d.ts.map +1 -0
- package/lib-esm/utils/colorModels.js +36 -0
- package/lib-esm/utils/colorModels.js.map +1 -0
- package/lib-esm/utils/copyData.d.ts +4 -0
- package/lib-esm/utils/copyData.d.ts.map +1 -0
- package/lib-esm/utils/copyData.js +16 -0
- package/lib-esm/utils/copyData.js.map +1 -0
- package/lib-esm/utils/getIndex.d.ts +12 -0
- package/lib-esm/utils/getIndex.d.ts.map +1 -0
- package/lib-esm/utils/getIndex.js +13 -0
- package/lib-esm/utils/getIndex.js.map +1 -0
- package/lib-esm/utils/getOutputImage.d.ts +61 -0
- package/lib-esm/utils/getOutputImage.d.ts.map +1 -0
- package/lib-esm/utils/getOutputImage.js +143 -0
- package/lib-esm/utils/getOutputImage.js.map +1 -0
- package/lib-esm/utils/interpolateBorder.d.ts +44 -0
- package/lib-esm/utils/interpolateBorder.d.ts.map +1 -0
- package/lib-esm/utils/interpolateBorder.js +134 -0
- package/lib-esm/utils/interpolateBorder.js.map +1 -0
- package/lib-esm/utils/interpolatePixel.d.ts +18 -0
- package/lib-esm/utils/interpolatePixel.d.ts.map +1 -0
- package/lib-esm/utils/interpolatePixel.js +118 -0
- package/lib-esm/utils/interpolatePixel.js.map +1 -0
- package/lib-esm/utils/kernels.d.ts +13 -0
- package/lib-esm/utils/kernels.d.ts.map +1 -0
- package/lib-esm/utils/kernels.js +63 -0
- package/lib-esm/utils/kernels.js.map +1 -0
- package/lib-esm/utils/kinds.d.ts +9 -0
- package/lib-esm/utils/kinds.d.ts.map +1 -0
- package/lib-esm/utils/kinds.js +20 -0
- package/lib-esm/utils/kinds.js.map +1 -0
- package/lib-esm/utils/round.d.ts +2 -0
- package/lib-esm/utils/round.d.ts.map +1 -0
- package/lib-esm/utils/round.js +7 -0
- package/lib-esm/utils/round.js.map +1 -0
- package/lib-esm/utils/validators.d.ts +23 -0
- package/lib-esm/utils/validators.d.ts.map +1 -0
- package/lib-esm/utils/validators.js +34 -0
- package/lib-esm/utils/validators.js.map +1 -0
- package/package.json +79 -0
- package/src/IJS.ts +758 -0
- package/src/Mask.ts +476 -0
- package/src/compute/histogram.ts +39 -0
- package/src/compute/index.ts +1 -0
- package/src/filters/and.ts +34 -0
- package/src/filters/blur.ts +49 -0
- package/src/filters/convolution.ts +357 -0
- package/src/filters/derivativeFilter.ts +77 -0
- package/src/filters/gaussianBlur.ts +124 -0
- package/src/filters/gradientFilter.ts +106 -0
- package/src/filters/hypotenuse.ts +74 -0
- package/src/filters/index.ts +10 -0
- package/src/filters/invert.ts +47 -0
- package/src/filters/or.ts +34 -0
- package/src/filters/subtractImage.ts +91 -0
- package/src/geometry/index.ts +3 -0
- package/src/geometry/resize.ts +182 -0
- package/src/geometry/rotate.ts +99 -0
- package/src/geometry/transform.ts +169 -0
- package/src/index.ts +9 -0
- package/src/load/decode.ts +33 -0
- package/src/load/decodeJpeg.ts +17 -0
- package/src/load/decodePng.ts +78 -0
- package/src/load/decodeTiff.ts +64 -0
- package/src/load/index.ts +7 -0
- package/src/load/read.ts +27 -0
- package/src/load/readCanvas.ts +17 -0
- package/src/load/readImg.ts +15 -0
- package/src/morphology/bottomHat.ts +66 -0
- package/src/morphology/cannyEdgeDetector.ts +214 -0
- package/src/morphology/clearBorder.ts +116 -0
- package/src/morphology/close.ts +61 -0
- package/src/morphology/dilate.ts +264 -0
- package/src/morphology/erode.ts +264 -0
- package/src/morphology/floodFill.ts +31 -0
- package/src/morphology/index.ts +10 -0
- package/src/morphology/morphologicalGradient.ts +69 -0
- package/src/morphology/open.ts +61 -0
- package/src/morphology/topHat.ts +64 -0
- package/src/operations/convertColor.ts +185 -0
- package/src/operations/convertDepth.ts +59 -0
- package/src/operations/copyTo.ts +107 -0
- package/src/operations/grey.ts +114 -0
- package/src/operations/greyAlgorithms.ts +265 -0
- package/src/operations/index.ts +7 -0
- package/src/operations/merge.ts +52 -0
- package/src/operations/split.ts +19 -0
- package/src/operations/threshold.ts +145 -0
- package/src/operations/thresholds/huang.ts +84 -0
- package/src/operations/thresholds/intermodes.ts +62 -0
- package/src/operations/thresholds/isodata.ts +53 -0
- package/src/operations/thresholds/li.ts +81 -0
- package/src/operations/thresholds/maxEntropy.ts +89 -0
- package/src/operations/thresholds/mean.ts +23 -0
- package/src/operations/thresholds/minError.ts +102 -0
- package/src/operations/thresholds/minimum.ts +78 -0
- package/src/operations/thresholds/moments.ts +60 -0
- package/src/operations/thresholds/otsu.ts +42 -0
- package/src/operations/thresholds/percentile.ts +40 -0
- package/src/operations/thresholds/renyiEntropy.ts +148 -0
- package/src/operations/thresholds/shanbhag.ts +82 -0
- package/src/operations/thresholds/triangle.ts +115 -0
- package/src/operations/thresholds/yen.ts +63 -0
- package/src/roi/RoiManager.ts +34 -0
- package/src/roi/RoiMapManager.ts +48 -0
- package/src/roi/colorRois.ts +69 -0
- package/src/roi/fromMask.ts +184 -0
- package/src/roi/index.ts +4 -0
- package/src/roi/utils/colorMaps/getBinaryMap.ts +72 -0
- package/src/roi/utils/colorMaps/getRainbowMap.ts +65 -0
- package/src/roi/utils/colorMaps/getSaturationMap.ts +80 -0
- package/src/roi/utils/constants.ts +3 -0
- package/src/roi/utils/getColorMap.ts +51 -0
- package/src/roi/utils/hsvToRgb.ts +62 -0
- package/src/roi/utils/rgbToNumber.ts +9 -0
- package/src/save/encode.ts +65 -0
- package/src/save/encodeJpeg.ts +37 -0
- package/src/save/encodePng.ts +16 -0
- package/src/save/index.ts +5 -0
- package/src/save/write.ts +109 -0
- package/src/save/writeCanvas.ts +82 -0
- package/src/utils/boolToNumber.ts +18 -0
- package/src/utils/borderIterator.ts +22 -0
- package/src/utils/checkKernel.ts +13 -0
- package/src/utils/checkProcessable.ts +98 -0
- package/src/utils/clamp.ts +39 -0
- package/src/utils/colorModels.ts +41 -0
- package/src/utils/copyData.ts +23 -0
- package/src/utils/getIndex.ts +19 -0
- package/src/utils/getOutputImage.ts +182 -0
- package/src/utils/interpolateBorder.ts +206 -0
- package/src/utils/interpolatePixel.ts +170 -0
- package/src/utils/kernels.ts +73 -0
- package/src/utils/kinds.ts +27 -0
- package/src/utils/round.ts +6 -0
- package/src/utils/validators.ts +43 -0
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
import { AndOptions, InvertOptions, OrOptions, SubtractImageOptions } from './filters';
|
|
2
|
+
import { BottomHatOptions, ClearBorderOptions, CloseOptions, DilateOptions, ErodeOptions, FloodFillOptions, MorphologicalGradientOptions, OpenOptions, TopHatOptions } from './morphology';
|
|
3
|
+
import { ImageColorModel, ColorDepth, IJS } from '.';
|
|
4
|
+
export declare type BitValue = 1 | 0 | boolean;
|
|
5
|
+
export interface MaskOptions {
|
|
6
|
+
/**
|
|
7
|
+
* Typed array holding the mask data.
|
|
8
|
+
*/
|
|
9
|
+
data?: Uint8Array;
|
|
10
|
+
}
|
|
11
|
+
export interface MaskCreateFromOptions extends MaskOptions {
|
|
12
|
+
width?: number;
|
|
13
|
+
height?: number;
|
|
14
|
+
}
|
|
15
|
+
export declare class Mask {
|
|
16
|
+
/**
|
|
17
|
+
* The number of columns of the mask.
|
|
18
|
+
*/
|
|
19
|
+
readonly width: number;
|
|
20
|
+
/**
|
|
21
|
+
* The number of rows of the mask.
|
|
22
|
+
*/
|
|
23
|
+
readonly height: number;
|
|
24
|
+
/**
|
|
25
|
+
* The total number of bits in the mask (width × height).
|
|
26
|
+
*/
|
|
27
|
+
readonly size: number;
|
|
28
|
+
/**
|
|
29
|
+
* The number of bits per value in each channel (always 1).
|
|
30
|
+
*/
|
|
31
|
+
readonly depth: ColorDepth;
|
|
32
|
+
/**
|
|
33
|
+
* The color model of the mask (always BINARY).
|
|
34
|
+
*/
|
|
35
|
+
readonly colorModel: ImageColorModel;
|
|
36
|
+
/**
|
|
37
|
+
* The number of color channels in the image, excluding the alpha channel.
|
|
38
|
+
* (always 1)
|
|
39
|
+
*/
|
|
40
|
+
readonly components: number;
|
|
41
|
+
/**
|
|
42
|
+
* The number of channels in the mask, including the alpha channel.
|
|
43
|
+
* (always 1)
|
|
44
|
+
*/
|
|
45
|
+
readonly channels: number;
|
|
46
|
+
/**
|
|
47
|
+
* Specifying that the mask has no an alpha channel.
|
|
48
|
+
*/
|
|
49
|
+
readonly alpha: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* The maximum value that a pixel channel can have.
|
|
52
|
+
*/
|
|
53
|
+
readonly maxValue: number;
|
|
54
|
+
/**
|
|
55
|
+
* Typed array holding the mask data.
|
|
56
|
+
*/
|
|
57
|
+
private readonly data;
|
|
58
|
+
/**
|
|
59
|
+
* Construct a new Mask knowing its dimensions.
|
|
60
|
+
*
|
|
61
|
+
* @param width - Image width.
|
|
62
|
+
* @param height - Image height.
|
|
63
|
+
* @param options - Image options.
|
|
64
|
+
*/
|
|
65
|
+
constructor(width: number, height: number, options?: MaskOptions);
|
|
66
|
+
/**
|
|
67
|
+
* Create a new Mask based on the properties of an existing one.
|
|
68
|
+
*
|
|
69
|
+
* @param other - Reference Mask.
|
|
70
|
+
* @param options - Mask options.
|
|
71
|
+
* @returns New mask.
|
|
72
|
+
*/
|
|
73
|
+
static createFrom(other: Mask | IJS, options?: MaskCreateFromOptions): Mask;
|
|
74
|
+
/**
|
|
75
|
+
* Create a copy of this mask.
|
|
76
|
+
*
|
|
77
|
+
* @returns The mask clone.
|
|
78
|
+
*/
|
|
79
|
+
clone(): Mask;
|
|
80
|
+
/**
|
|
81
|
+
* Get the value of a bit.
|
|
82
|
+
*
|
|
83
|
+
* @param row - Row index.
|
|
84
|
+
* @param column - Column index.
|
|
85
|
+
* @returns The bit value.
|
|
86
|
+
*/
|
|
87
|
+
getBit(row: number, column: number): number;
|
|
88
|
+
/**
|
|
89
|
+
* Set the value of a bit.
|
|
90
|
+
*
|
|
91
|
+
* @param row - Row index.
|
|
92
|
+
* @param column - Column index.
|
|
93
|
+
* @param value - New bit value.
|
|
94
|
+
*/
|
|
95
|
+
setBit(row: number, column: number, value: BitValue): void;
|
|
96
|
+
/**
|
|
97
|
+
* Get the value of a bit using index.
|
|
98
|
+
*
|
|
99
|
+
* @param index - Index of the pixel.
|
|
100
|
+
* @returns Value of the bit.
|
|
101
|
+
*/
|
|
102
|
+
getBitByIndex(index: number): number;
|
|
103
|
+
/**
|
|
104
|
+
* Set the value of a bit using index.
|
|
105
|
+
*
|
|
106
|
+
* @param index - Index of the pixel.
|
|
107
|
+
* @param value - Value to set.
|
|
108
|
+
*/
|
|
109
|
+
setBitByIndex(index: number, value: BitValue): void;
|
|
110
|
+
/**
|
|
111
|
+
* Get the value of a bit. Function exists for compatibility with IJS.
|
|
112
|
+
*
|
|
113
|
+
* @param row - Row index.
|
|
114
|
+
* @param column - Column index.
|
|
115
|
+
* @param channel - Index of the channel, must be zero.
|
|
116
|
+
* @returns The bit value.
|
|
117
|
+
*/
|
|
118
|
+
getValue(row: number, column: number, channel: number): number;
|
|
119
|
+
/**
|
|
120
|
+
* Set the value of a bit. Function exists for compatibility with IJS.
|
|
121
|
+
*
|
|
122
|
+
* @param row - Row index.
|
|
123
|
+
* @param column - Column index.
|
|
124
|
+
* @param channel - Index of the channel, must be zero.
|
|
125
|
+
* @param value - New bit value.
|
|
126
|
+
*/
|
|
127
|
+
setValue(row: number, column: number, channel: number, value: BitValue): void;
|
|
128
|
+
/**
|
|
129
|
+
* Get the value of a bit using index. Function exists for compatibility with IJS.
|
|
130
|
+
*
|
|
131
|
+
* @param index - Index of the pixel.
|
|
132
|
+
* @param channel - Index of the channel, must be zero.
|
|
133
|
+
* @returns Value of the bit.
|
|
134
|
+
*/
|
|
135
|
+
getValueByIndex(index: number, channel: number): number;
|
|
136
|
+
/**
|
|
137
|
+
* Set the value of a bit using index. Function exists for compatibility with IJS.
|
|
138
|
+
*
|
|
139
|
+
* @param index - Index of the pixel.
|
|
140
|
+
* @param channel - Index of the channel, must be zero.
|
|
141
|
+
* @param value - Value to set.
|
|
142
|
+
*/
|
|
143
|
+
setValueByIndex(index: number, channel: number, value: BitValue): void;
|
|
144
|
+
/**
|
|
145
|
+
* Return the raw mask data.
|
|
146
|
+
*
|
|
147
|
+
* @returns The raw data.
|
|
148
|
+
*/
|
|
149
|
+
getRawImage(): {
|
|
150
|
+
width: number;
|
|
151
|
+
height: number;
|
|
152
|
+
data: Uint8Array;
|
|
153
|
+
};
|
|
154
|
+
/**
|
|
155
|
+
* Fill the mask with a value.
|
|
156
|
+
*
|
|
157
|
+
* @param value - Value of the bit.
|
|
158
|
+
* @returns The mask instance.
|
|
159
|
+
*/
|
|
160
|
+
fill(value: BitValue): this;
|
|
161
|
+
convertColor(colorModel: ImageColorModel): IJS;
|
|
162
|
+
/**
|
|
163
|
+
* Invert the colors of the mask.
|
|
164
|
+
*
|
|
165
|
+
* @param options - Inversion options
|
|
166
|
+
* @returns The inverted mask.
|
|
167
|
+
*/
|
|
168
|
+
invert(options?: InvertOptions): Mask;
|
|
169
|
+
/**
|
|
170
|
+
* Subtract other from a mask.
|
|
171
|
+
*
|
|
172
|
+
* @param other - Image to subtract
|
|
173
|
+
* @param options - Inversion options
|
|
174
|
+
* @returns The subtracted mask.
|
|
175
|
+
*/
|
|
176
|
+
subtractImage(other: Mask, options?: SubtractImageOptions): Mask;
|
|
177
|
+
/**
|
|
178
|
+
* Perform an AND operation on two masks.
|
|
179
|
+
*
|
|
180
|
+
* @param other - Second mask.
|
|
181
|
+
* @param options - And options.
|
|
182
|
+
* @returns AND of the two masks.
|
|
183
|
+
*/
|
|
184
|
+
and(other: Mask, options?: AndOptions): Mask;
|
|
185
|
+
/**
|
|
186
|
+
* Perform an OR operation on two masks.
|
|
187
|
+
*
|
|
188
|
+
* @param other - Second mask.
|
|
189
|
+
* @param options - And options.
|
|
190
|
+
* @returns OR of the two masks.
|
|
191
|
+
*/
|
|
192
|
+
or(other: Mask, options?: OrOptions): Mask;
|
|
193
|
+
/**
|
|
194
|
+
* Erode a Mask.
|
|
195
|
+
*
|
|
196
|
+
* @param options - Erode options
|
|
197
|
+
* @returns The eroded mask.
|
|
198
|
+
*/
|
|
199
|
+
erode(options?: ErodeOptions): Mask;
|
|
200
|
+
/**
|
|
201
|
+
* Dilate an image.
|
|
202
|
+
*
|
|
203
|
+
* @param options - Dilate options.
|
|
204
|
+
* @returns The dilated image.
|
|
205
|
+
*/
|
|
206
|
+
dilate(options?: DilateOptions): Mask;
|
|
207
|
+
/**
|
|
208
|
+
* Open an image.
|
|
209
|
+
*
|
|
210
|
+
* @param options - Open options.
|
|
211
|
+
* @returns The opened image.
|
|
212
|
+
*/
|
|
213
|
+
open(options?: OpenOptions): Mask;
|
|
214
|
+
/**
|
|
215
|
+
* Close an image.
|
|
216
|
+
*
|
|
217
|
+
* @param options - Close options.
|
|
218
|
+
* @returns The closed image.
|
|
219
|
+
*/
|
|
220
|
+
close(options?: CloseOptions): Mask;
|
|
221
|
+
/**
|
|
222
|
+
* Top hat of an image.
|
|
223
|
+
*
|
|
224
|
+
* @param options - Top hat options.
|
|
225
|
+
* @returns The top-hatted image.
|
|
226
|
+
*/
|
|
227
|
+
topHat(options?: TopHatOptions): Mask;
|
|
228
|
+
/**
|
|
229
|
+
* Bottom hat of an image.
|
|
230
|
+
*
|
|
231
|
+
* @param options - Bottom hat options.
|
|
232
|
+
* @returns The bottom-hatted image.
|
|
233
|
+
*/
|
|
234
|
+
bottomHat(options?: BottomHatOptions): Mask;
|
|
235
|
+
/**
|
|
236
|
+
* Apply morphological gradient to an image.
|
|
237
|
+
*
|
|
238
|
+
* @param options - Morphological gradient options.
|
|
239
|
+
* @returns The processed image.
|
|
240
|
+
*/
|
|
241
|
+
morphologicalGradient(options?: MorphologicalGradientOptions): Mask;
|
|
242
|
+
/**
|
|
243
|
+
* Remove elements connected to the borders of an image.
|
|
244
|
+
*
|
|
245
|
+
* @param options - Clear border options.
|
|
246
|
+
* @returns The processed image.
|
|
247
|
+
*/
|
|
248
|
+
clearBorder(options?: ClearBorderOptions): Mask;
|
|
249
|
+
/**
|
|
250
|
+
* Fill holes in regions of interest.
|
|
251
|
+
*
|
|
252
|
+
* @param options - Flood fill options.
|
|
253
|
+
* @returns The filled mask.
|
|
254
|
+
*/
|
|
255
|
+
floodFill(options?: FloodFillOptions): Mask;
|
|
256
|
+
}
|
|
257
|
+
//# sourceMappingURL=Mask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Mask.d.ts","sourceRoot":"","sources":["../src/Mask.ts"],"names":[],"mappings":"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"}
|
package/lib-esm/Mask.js
ADDED
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
import { and, invert, or, subtractImage, } from './filters';
|
|
2
|
+
import { bottomHat, clearBorder, close, dilate, floodFill, morphologicalGradient, open, topHat, } from './morphology';
|
|
3
|
+
import { erode } from './morphology/erode';
|
|
4
|
+
import { boolToNumber } from './utils/boolToNumber';
|
|
5
|
+
import { ImageColorModel, ColorDepth, colorModels, convertColor } from '.';
|
|
6
|
+
export class Mask {
|
|
7
|
+
/**
|
|
8
|
+
* Construct a new Mask knowing its dimensions.
|
|
9
|
+
*
|
|
10
|
+
* @param width - Image width.
|
|
11
|
+
* @param height - Image height.
|
|
12
|
+
* @param options - Image options.
|
|
13
|
+
*/
|
|
14
|
+
constructor(width, height, options = {}) {
|
|
15
|
+
const { data } = options;
|
|
16
|
+
if (width < 1 || !Number.isInteger(width)) {
|
|
17
|
+
throw new RangeError(`width must be an integer and at least 1. Received ${width}`);
|
|
18
|
+
}
|
|
19
|
+
if (height < 1 || !Number.isInteger(height)) {
|
|
20
|
+
throw new RangeError(`height must be an integer and at least 1. Received ${height}`);
|
|
21
|
+
}
|
|
22
|
+
this.width = width;
|
|
23
|
+
this.height = height;
|
|
24
|
+
this.size = width * height;
|
|
25
|
+
this.depth = ColorDepth.UINT1;
|
|
26
|
+
this.colorModel = ImageColorModel.BINARY;
|
|
27
|
+
const colorModelDef = colorModels[this.colorModel];
|
|
28
|
+
this.components = colorModelDef.components;
|
|
29
|
+
this.alpha = colorModelDef.alpha;
|
|
30
|
+
this.channels = colorModelDef.channels;
|
|
31
|
+
this.maxValue = 1;
|
|
32
|
+
if (data === undefined) {
|
|
33
|
+
this.data = new Uint8Array(this.size);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
const expectedLength = this.size * this.channels;
|
|
37
|
+
if (data.length !== expectedLength) {
|
|
38
|
+
throw new RangeError(`incorrect data size: ${data.length}. Expected ${expectedLength}`);
|
|
39
|
+
}
|
|
40
|
+
this.data = data;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Create a new Mask based on the properties of an existing one.
|
|
45
|
+
*
|
|
46
|
+
* @param other - Reference Mask.
|
|
47
|
+
* @param options - Mask options.
|
|
48
|
+
* @returns New mask.
|
|
49
|
+
*/
|
|
50
|
+
static createFrom(other, options = {}) {
|
|
51
|
+
const { width = other.width, height = other.height } = options;
|
|
52
|
+
return new Mask(width, height, options);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Create a copy of this mask.
|
|
56
|
+
*
|
|
57
|
+
* @returns The mask clone.
|
|
58
|
+
*/
|
|
59
|
+
clone() {
|
|
60
|
+
return Mask.createFrom(this, { data: this.data.slice() });
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Get the value of a bit.
|
|
64
|
+
*
|
|
65
|
+
* @param row - Row index.
|
|
66
|
+
* @param column - Column index.
|
|
67
|
+
* @returns The bit value.
|
|
68
|
+
*/
|
|
69
|
+
getBit(row, column) {
|
|
70
|
+
const index = row * this.width + column;
|
|
71
|
+
return this.data[index];
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Set the value of a bit.
|
|
75
|
+
*
|
|
76
|
+
* @param row - Row index.
|
|
77
|
+
* @param column - Column index.
|
|
78
|
+
* @param value - New bit value.
|
|
79
|
+
*/
|
|
80
|
+
setBit(row, column, value) {
|
|
81
|
+
const index = row * this.width + column;
|
|
82
|
+
// @ts-expect-error: we know that value is a boolean
|
|
83
|
+
this.data[index] = value;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Get the value of a bit using index.
|
|
87
|
+
*
|
|
88
|
+
* @param index - Index of the pixel.
|
|
89
|
+
* @returns Value of the bit.
|
|
90
|
+
*/
|
|
91
|
+
getBitByIndex(index) {
|
|
92
|
+
return this.data[index * this.channels];
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Set the value of a bit using index.
|
|
96
|
+
*
|
|
97
|
+
* @param index - Index of the pixel.
|
|
98
|
+
* @param value - Value to set.
|
|
99
|
+
*/
|
|
100
|
+
setBitByIndex(index, value) {
|
|
101
|
+
let result = boolToNumber(value);
|
|
102
|
+
this.data[index * this.channels] = result;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Get the value of a bit. Function exists for compatibility with IJS.
|
|
106
|
+
*
|
|
107
|
+
* @param row - Row index.
|
|
108
|
+
* @param column - Column index.
|
|
109
|
+
* @param channel - Index of the channel, must be zero.
|
|
110
|
+
* @returns The bit value.
|
|
111
|
+
*/
|
|
112
|
+
getValue(row, column, channel) {
|
|
113
|
+
checkChannel(channel);
|
|
114
|
+
return this.getBit(row, column);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Set the value of a bit. Function exists for compatibility with IJS.
|
|
118
|
+
*
|
|
119
|
+
* @param row - Row index.
|
|
120
|
+
* @param column - Column index.
|
|
121
|
+
* @param channel - Index of the channel, must be zero.
|
|
122
|
+
* @param value - New bit value.
|
|
123
|
+
*/
|
|
124
|
+
setValue(row, column, channel, value) {
|
|
125
|
+
checkChannel(channel);
|
|
126
|
+
this.setBit(row, column, value);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Get the value of a bit using index. Function exists for compatibility with IJS.
|
|
130
|
+
*
|
|
131
|
+
* @param index - Index of the pixel.
|
|
132
|
+
* @param channel - Index of the channel, must be zero.
|
|
133
|
+
* @returns Value of the bit.
|
|
134
|
+
*/
|
|
135
|
+
getValueByIndex(index, channel) {
|
|
136
|
+
checkChannel(channel);
|
|
137
|
+
return this.getBitByIndex(index);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Set the value of a bit using index. Function exists for compatibility with IJS.
|
|
141
|
+
*
|
|
142
|
+
* @param index - Index of the pixel.
|
|
143
|
+
* @param channel - Index of the channel, must be zero.
|
|
144
|
+
* @param value - Value to set.
|
|
145
|
+
*/
|
|
146
|
+
setValueByIndex(index, channel, value) {
|
|
147
|
+
checkChannel(channel);
|
|
148
|
+
this.setBitByIndex(index, value);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Return the raw mask data.
|
|
152
|
+
*
|
|
153
|
+
* @returns The raw data.
|
|
154
|
+
*/
|
|
155
|
+
getRawImage() {
|
|
156
|
+
return {
|
|
157
|
+
width: this.width,
|
|
158
|
+
height: this.height,
|
|
159
|
+
data: this.data,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
[Symbol.for('nodejs.util.inspect.custom')]() {
|
|
163
|
+
return `Mask {
|
|
164
|
+
width: ${this.width}
|
|
165
|
+
height: ${this.height}
|
|
166
|
+
data: ${printData(this)}
|
|
167
|
+
}`;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Fill the mask with a value.
|
|
171
|
+
*
|
|
172
|
+
* @param value - Value of the bit.
|
|
173
|
+
* @returns The mask instance.
|
|
174
|
+
*/
|
|
175
|
+
fill(value) {
|
|
176
|
+
let result = boolToNumber(value);
|
|
177
|
+
this.data.fill(result);
|
|
178
|
+
return this;
|
|
179
|
+
}
|
|
180
|
+
convertColor(colorModel) {
|
|
181
|
+
return convertColor(this, colorModel);
|
|
182
|
+
}
|
|
183
|
+
// FILTERS
|
|
184
|
+
/**
|
|
185
|
+
* Invert the colors of the mask.
|
|
186
|
+
*
|
|
187
|
+
* @param options - Inversion options
|
|
188
|
+
* @returns The inverted mask.
|
|
189
|
+
*/
|
|
190
|
+
invert(options) {
|
|
191
|
+
return invert(this, options);
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Subtract other from a mask.
|
|
195
|
+
*
|
|
196
|
+
* @param other - Image to subtract
|
|
197
|
+
* @param options - Inversion options
|
|
198
|
+
* @returns The subtracted mask.
|
|
199
|
+
*/
|
|
200
|
+
subtractImage(other, options) {
|
|
201
|
+
return subtractImage(this, other, options);
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Perform an AND operation on two masks.
|
|
205
|
+
*
|
|
206
|
+
* @param other - Second mask.
|
|
207
|
+
* @param options - And options.
|
|
208
|
+
* @returns AND of the two masks.
|
|
209
|
+
*/
|
|
210
|
+
and(other, options) {
|
|
211
|
+
return and(this, other, options);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Perform an OR operation on two masks.
|
|
215
|
+
*
|
|
216
|
+
* @param other - Second mask.
|
|
217
|
+
* @param options - And options.
|
|
218
|
+
* @returns OR of the two masks.
|
|
219
|
+
*/
|
|
220
|
+
or(other, options) {
|
|
221
|
+
return or(this, other, options);
|
|
222
|
+
}
|
|
223
|
+
// MORPHOLOGY
|
|
224
|
+
/**
|
|
225
|
+
* Erode a Mask.
|
|
226
|
+
*
|
|
227
|
+
* @param options - Erode options
|
|
228
|
+
* @returns The eroded mask.
|
|
229
|
+
*/
|
|
230
|
+
erode(options) {
|
|
231
|
+
return erode(this, options);
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Dilate an image.
|
|
235
|
+
*
|
|
236
|
+
* @param options - Dilate options.
|
|
237
|
+
* @returns The dilated image.
|
|
238
|
+
*/
|
|
239
|
+
dilate(options) {
|
|
240
|
+
return dilate(this, options);
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Open an image.
|
|
244
|
+
*
|
|
245
|
+
* @param options - Open options.
|
|
246
|
+
* @returns The opened image.
|
|
247
|
+
*/
|
|
248
|
+
open(options) {
|
|
249
|
+
return open(this, options);
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Close an image.
|
|
253
|
+
*
|
|
254
|
+
* @param options - Close options.
|
|
255
|
+
* @returns The closed image.
|
|
256
|
+
*/
|
|
257
|
+
close(options) {
|
|
258
|
+
return close(this, options);
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Top hat of an image.
|
|
262
|
+
*
|
|
263
|
+
* @param options - Top hat options.
|
|
264
|
+
* @returns The top-hatted image.
|
|
265
|
+
*/
|
|
266
|
+
topHat(options) {
|
|
267
|
+
return topHat(this, options);
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Bottom hat of an image.
|
|
271
|
+
*
|
|
272
|
+
* @param options - Bottom hat options.
|
|
273
|
+
* @returns The bottom-hatted image.
|
|
274
|
+
*/
|
|
275
|
+
bottomHat(options) {
|
|
276
|
+
return bottomHat(this, options);
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Apply morphological gradient to an image.
|
|
280
|
+
*
|
|
281
|
+
* @param options - Morphological gradient options.
|
|
282
|
+
* @returns The processed image.
|
|
283
|
+
*/
|
|
284
|
+
morphologicalGradient(options) {
|
|
285
|
+
return morphologicalGradient(this, options);
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Remove elements connected to the borders of an image.
|
|
289
|
+
*
|
|
290
|
+
* @param options - Clear border options.
|
|
291
|
+
* @returns The processed image.
|
|
292
|
+
*/
|
|
293
|
+
clearBorder(options) {
|
|
294
|
+
return clearBorder(this, options);
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Fill holes in regions of interest.
|
|
298
|
+
*
|
|
299
|
+
* @param options - Flood fill options.
|
|
300
|
+
* @returns The filled mask.
|
|
301
|
+
*/
|
|
302
|
+
floodFill(options) {
|
|
303
|
+
return floodFill(this, options);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Returns all values of a mask as a string.
|
|
308
|
+
*
|
|
309
|
+
* @param mask - Input mask.
|
|
310
|
+
* @returns Formatted string with all values of a mask.
|
|
311
|
+
*/
|
|
312
|
+
function printData(mask) {
|
|
313
|
+
const result = [];
|
|
314
|
+
const padding = 2;
|
|
315
|
+
for (let i = 0; i < mask.height; i++) {
|
|
316
|
+
const line = [];
|
|
317
|
+
for (let j = 0; j < mask.width; j++) {
|
|
318
|
+
line.push(String(mask.getBit(i, j)).padStart(padding, ' '));
|
|
319
|
+
}
|
|
320
|
+
result.push(`[${line.join(' ')}]`);
|
|
321
|
+
}
|
|
322
|
+
return result.join('\n ');
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Verify the channel value of a mask
|
|
326
|
+
*
|
|
327
|
+
* @param channel - The channel value
|
|
328
|
+
*/
|
|
329
|
+
function checkChannel(channel) {
|
|
330
|
+
if (channel !== 0) {
|
|
331
|
+
throw new Error(`Channel value must be 0 on type Mask, got ${channel}.`);
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
//# sourceMappingURL=Mask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Mask.js","sourceRoot":"","sources":["../src/Mask.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IJS } from '../IJS';
|
|
2
|
+
export interface HistogramOptions {
|
|
3
|
+
/**
|
|
4
|
+
* The channel for which to compute the histogram.
|
|
5
|
+
* If it is unspecified, the image must have one channel or the method will
|
|
6
|
+
* throw an error.
|
|
7
|
+
*
|
|
8
|
+
* @default 0
|
|
9
|
+
*/
|
|
10
|
+
channel?: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Returns a histogram of pixel intensities.
|
|
14
|
+
*
|
|
15
|
+
* @param image - The original image.
|
|
16
|
+
* @param options - Histogram options.
|
|
17
|
+
* @returns - The histogram.
|
|
18
|
+
*/
|
|
19
|
+
export declare function histogram(image: IJS, options?: HistogramOptions): Uint32Array;
|
|
20
|
+
//# sourceMappingURL=histogram.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"histogram.d.ts","sourceRoot":"","sources":["../../src/compute/histogram.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAG7B,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,GAAG,EACV,OAAO,GAAE,gBAAqB,GAC7B,WAAW,CAcb"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { validateChannel } from '../utils/validators';
|
|
2
|
+
/**
|
|
3
|
+
* Returns a histogram of pixel intensities.
|
|
4
|
+
*
|
|
5
|
+
* @param image - The original image.
|
|
6
|
+
* @param options - Histogram options.
|
|
7
|
+
* @returns - The histogram.
|
|
8
|
+
*/
|
|
9
|
+
export function histogram(image, options = {}) {
|
|
10
|
+
let { channel } = options;
|
|
11
|
+
if (typeof channel !== 'number') {
|
|
12
|
+
if (image.channels !== 1) {
|
|
13
|
+
throw new Error('channel option is mandatory for multi-channel images');
|
|
14
|
+
}
|
|
15
|
+
channel = 0;
|
|
16
|
+
}
|
|
17
|
+
validateChannel(channel, image);
|
|
18
|
+
const hist = new Uint32Array(image.maxValue + 1);
|
|
19
|
+
for (let i = 0; i < image.size; i++) {
|
|
20
|
+
hist[image.getValueByIndex(i, channel)]++;
|
|
21
|
+
}
|
|
22
|
+
return hist;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=histogram.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"histogram.js","sourceRoot":"","sources":["../../src/compute/histogram.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAatD;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CACvB,KAAU,EACV,UAA4B,EAAE;IAE9B,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC1B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SACzE;QACD,OAAO,GAAG,CAAC,CAAC;KACb;IACD,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACnC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;KAC3C;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compute/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compute/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Mask } from '..';
|
|
2
|
+
export interface AndOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Image to which the inverted image has to be put.
|
|
5
|
+
*/
|
|
6
|
+
out?: Mask;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Perform an AND operation on two masks.
|
|
10
|
+
*
|
|
11
|
+
* @param mask - First mask.
|
|
12
|
+
* @param otherMask - Second mask.
|
|
13
|
+
* @param options - And options.
|
|
14
|
+
* @returns AND of the two masks.
|
|
15
|
+
*/
|
|
16
|
+
export declare function and(mask: Mask, otherMask: Mask, options?: AndOptions): Mask;
|
|
17
|
+
//# sourceMappingURL=and.d.ts.map
|