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
package/lib-esm/IJS.js
ADDED
|
@@ -0,0 +1,526 @@
|
|
|
1
|
+
import { blur, directConvolution, separableConvolution, gaussianBlur, subtractImage, rawDirectConvolution, gradientFilter, derivativeFilter, } from './filters';
|
|
2
|
+
import { hypotenuse } from './filters/hypotenuse';
|
|
3
|
+
import { invert } from './filters/invert';
|
|
4
|
+
import { bottomHat, cannyEdgeDetector, close, dilate, erode, morphologicalGradient, open, topHat, } from './morphology';
|
|
5
|
+
import { convertColor } from './operations/convertColor';
|
|
6
|
+
import { convertDepth } from './operations/convertDepth';
|
|
7
|
+
import copyTo from './operations/copyTo';
|
|
8
|
+
import grey from './operations/grey';
|
|
9
|
+
import { split } from './operations/split';
|
|
10
|
+
import { ImageColorModel, colorModels } from './utils/colorModels';
|
|
11
|
+
import { validateChannel, validateValue } from './utils/validators';
|
|
12
|
+
import { histogram, resize, rotate, threshold, transform, } from '.';
|
|
13
|
+
export { ImageColorModel, colorModels };
|
|
14
|
+
export var ColorDepth;
|
|
15
|
+
(function (ColorDepth) {
|
|
16
|
+
ColorDepth[ColorDepth["UINT1"] = 1] = "UINT1";
|
|
17
|
+
ColorDepth[ColorDepth["UINT8"] = 8] = "UINT8";
|
|
18
|
+
ColorDepth[ColorDepth["UINT16"] = 16] = "UINT16";
|
|
19
|
+
})(ColorDepth || (ColorDepth = {}));
|
|
20
|
+
export var ImageCoordinates;
|
|
21
|
+
(function (ImageCoordinates) {
|
|
22
|
+
ImageCoordinates["CENTER"] = "CENTER";
|
|
23
|
+
ImageCoordinates["TOP_LEFT"] = "TOP_LEFT";
|
|
24
|
+
ImageCoordinates["TOP_RIGHT"] = "TOP_RIGHT";
|
|
25
|
+
ImageCoordinates["BOTTOM_LEFT"] = "BOTTOM_LEFT";
|
|
26
|
+
ImageCoordinates["BOTTOM_RIGHT"] = "BOTTOM_RIGHT";
|
|
27
|
+
})(ImageCoordinates || (ImageCoordinates = {}));
|
|
28
|
+
export class IJS {
|
|
29
|
+
/**
|
|
30
|
+
* Construct a new IJS knowing its dimensions.
|
|
31
|
+
*
|
|
32
|
+
* @param width - Image width.
|
|
33
|
+
* @param height - Image height.
|
|
34
|
+
* @param options - Image options.
|
|
35
|
+
*/
|
|
36
|
+
constructor(width, height, options = {}) {
|
|
37
|
+
const { depth = ColorDepth.UINT8, data, colorModel = ImageColorModel.RGB, } = options;
|
|
38
|
+
if (width < 1 || !Number.isInteger(width)) {
|
|
39
|
+
throw new RangeError(`width must be an integer and at least 1. Received ${width}`);
|
|
40
|
+
}
|
|
41
|
+
if (height < 1 || !Number.isInteger(height)) {
|
|
42
|
+
throw new RangeError(`height must be an integer and at least 1. Received ${height}`);
|
|
43
|
+
}
|
|
44
|
+
this.width = width;
|
|
45
|
+
this.height = height;
|
|
46
|
+
this.size = width * height;
|
|
47
|
+
this.depth = depth;
|
|
48
|
+
this.colorModel = colorModel;
|
|
49
|
+
const colorModelDef = colorModels[colorModel];
|
|
50
|
+
this.components = colorModelDef.components;
|
|
51
|
+
this.alpha = colorModelDef.alpha;
|
|
52
|
+
this.channels = colorModelDef.channels;
|
|
53
|
+
this.maxValue = 2 ** depth - 1;
|
|
54
|
+
if (data === undefined) {
|
|
55
|
+
this.data = createPixelArray(this.size, this.channels, this.alpha, this.depth, this.maxValue);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
if (depth === ColorDepth.UINT8 && data instanceof Uint16Array) {
|
|
59
|
+
throw new Error(`depth is ${depth} but data is Uint16Array`);
|
|
60
|
+
}
|
|
61
|
+
else if (depth === ColorDepth.UINT16 && data instanceof Uint8Array) {
|
|
62
|
+
throw new Error(`depth is ${depth} but data is Uint8Array`);
|
|
63
|
+
}
|
|
64
|
+
const expectedLength = this.size * this.channels;
|
|
65
|
+
if (data.length !== expectedLength) {
|
|
66
|
+
throw new RangeError(`incorrect data size: ${data.length}. Expected ${expectedLength}`);
|
|
67
|
+
}
|
|
68
|
+
this.data = data;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Create a new IJS based on the properties of an existing one.
|
|
73
|
+
*
|
|
74
|
+
* @param other - Reference image.
|
|
75
|
+
* @param options - Image options.
|
|
76
|
+
* @returns New image.
|
|
77
|
+
*/
|
|
78
|
+
static createFrom(other, options = {}) {
|
|
79
|
+
const { width = other.width, height = other.height } = options;
|
|
80
|
+
let depth;
|
|
81
|
+
if (other instanceof IJS) {
|
|
82
|
+
depth = other.depth;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
depth = ColorDepth.UINT8;
|
|
86
|
+
}
|
|
87
|
+
return new IJS(width, height, {
|
|
88
|
+
depth: depth,
|
|
89
|
+
colorModel: other.colorModel,
|
|
90
|
+
...options,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get all the channels of a pixel.
|
|
95
|
+
*
|
|
96
|
+
* @param row - Row index.
|
|
97
|
+
* @param column - Column index.
|
|
98
|
+
* @returns Channels of the pixel.
|
|
99
|
+
*/
|
|
100
|
+
getPixel(row, column) {
|
|
101
|
+
const result = [];
|
|
102
|
+
const start = (row * this.width + column) * this.channels;
|
|
103
|
+
for (let i = 0; i < this.channels; i++) {
|
|
104
|
+
result.push(this.data[start + i]);
|
|
105
|
+
}
|
|
106
|
+
return result;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Set all the channels of a pixel.
|
|
110
|
+
*
|
|
111
|
+
* @param row - Row index.
|
|
112
|
+
* @param column - Column index.
|
|
113
|
+
* @param value - New channel values of the pixel to set.
|
|
114
|
+
*/
|
|
115
|
+
setPixel(row, column, value) {
|
|
116
|
+
const start = (row * this.width + column) * this.channels;
|
|
117
|
+
for (let i = 0; i < this.channels; i++) {
|
|
118
|
+
this.data[start + i] = value[i];
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Get the value of a specific pixel channel. Select pixel using coordinates.
|
|
123
|
+
*
|
|
124
|
+
* @param row - Row index.
|
|
125
|
+
* @param column - Column index.
|
|
126
|
+
* @param channel - Channel index.
|
|
127
|
+
* @returns Value of the specified channel of one pixel.
|
|
128
|
+
*/
|
|
129
|
+
getValue(row, column, channel) {
|
|
130
|
+
return this.data[(row * this.width + column) * this.channels + channel];
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Set the value of a specific pixel channel. Select pixel using coordinates.
|
|
134
|
+
*
|
|
135
|
+
* @param row - Row index.
|
|
136
|
+
* @param column - Column index.
|
|
137
|
+
* @param channel - Channel index.
|
|
138
|
+
* @param value - Value to set.
|
|
139
|
+
*/
|
|
140
|
+
setValue(row, column, channel, value) {
|
|
141
|
+
this.data[(row * this.width + column) * this.channels + channel] = value;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Get the value of a specific pixel channel. Select pixel using index.
|
|
145
|
+
*
|
|
146
|
+
* @param index - Index of the pixel.
|
|
147
|
+
* @param channel - Channel index.
|
|
148
|
+
* @returns Value of the channel of the pixel.
|
|
149
|
+
*/
|
|
150
|
+
getValueByIndex(index, channel) {
|
|
151
|
+
return this.data[index * this.channels + channel];
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Set the value of a specific pixel channel. Select pixel using index.
|
|
155
|
+
*
|
|
156
|
+
* @param index - Index of the pixel.
|
|
157
|
+
* @param channel - Channel index.
|
|
158
|
+
* @param value - Value to set.
|
|
159
|
+
*/
|
|
160
|
+
setValueByIndex(index, channel, value) {
|
|
161
|
+
this.data[index * this.channels + channel] = value;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Return the raw image data.
|
|
165
|
+
*
|
|
166
|
+
* @returns The raw data.
|
|
167
|
+
*/
|
|
168
|
+
getRawImage() {
|
|
169
|
+
return {
|
|
170
|
+
width: this.width,
|
|
171
|
+
height: this.height,
|
|
172
|
+
data: this.data,
|
|
173
|
+
channels: this.channels,
|
|
174
|
+
depth: this.depth,
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
[Symbol.for('nodejs.util.inspect.custom')]() {
|
|
178
|
+
return `IJS {
|
|
179
|
+
width: ${this.width}
|
|
180
|
+
height: ${this.height}
|
|
181
|
+
depth: ${this.depth}
|
|
182
|
+
colorModel: ${this.colorModel}
|
|
183
|
+
channels: ${this.channels}
|
|
184
|
+
data: ${printData(this)}
|
|
185
|
+
}`;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Fill the image with a value or a color.
|
|
189
|
+
*
|
|
190
|
+
* @param value - Value or color.
|
|
191
|
+
* @returns The image instance.
|
|
192
|
+
*/
|
|
193
|
+
fill(value) {
|
|
194
|
+
if (typeof value === 'number') {
|
|
195
|
+
validateValue(value, this);
|
|
196
|
+
this.data.fill(value);
|
|
197
|
+
return this;
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
if (value.length !== this.channels) {
|
|
201
|
+
throw new RangeError(`the size of value must match the number of channels (${this.channels}). Got ${value.length} instead`);
|
|
202
|
+
}
|
|
203
|
+
value.forEach((val) => validateValue(val, this));
|
|
204
|
+
for (let i = 0; i < this.data.length; i += this.channels) {
|
|
205
|
+
for (let j = 0; j <= this.channels; j++) {
|
|
206
|
+
this.data[i + j] = value[j];
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
return this;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Fill one channel with a value.
|
|
214
|
+
*
|
|
215
|
+
* @param channel - The channel to fill.
|
|
216
|
+
* @param value - The new value.
|
|
217
|
+
* @returns The image instance.
|
|
218
|
+
*/
|
|
219
|
+
fillChannel(channel, value) {
|
|
220
|
+
validateChannel(channel, this);
|
|
221
|
+
validateValue(value, this);
|
|
222
|
+
for (let i = channel; i < this.data.length; i += this.channels) {
|
|
223
|
+
this.data[i] = value;
|
|
224
|
+
}
|
|
225
|
+
return this;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Fill the alpha channel with the specified value.
|
|
229
|
+
*
|
|
230
|
+
* @param value - New channel value.
|
|
231
|
+
* @returns The image instance.
|
|
232
|
+
*/
|
|
233
|
+
fillAlpha(value) {
|
|
234
|
+
validateValue(value, this);
|
|
235
|
+
if (!this.alpha) {
|
|
236
|
+
throw new Error('fillAlpha can only be called if the image has an alpha channel');
|
|
237
|
+
}
|
|
238
|
+
const alphaIndex = this.channels - 1;
|
|
239
|
+
return this.fillChannel(alphaIndex, value);
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Create a copy of this image.
|
|
243
|
+
*
|
|
244
|
+
* @returns The image clone.
|
|
245
|
+
*/
|
|
246
|
+
clone() {
|
|
247
|
+
return IJS.createFrom(this, { data: this.data.slice() });
|
|
248
|
+
}
|
|
249
|
+
changeEach(cb) {
|
|
250
|
+
for (let i = 0; i < this.data.length; i++) {
|
|
251
|
+
this.data[i] = cb(this.data[i]);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
getCoordinates(coordinates, round = false) {
|
|
255
|
+
switch (coordinates) {
|
|
256
|
+
case ImageCoordinates.CENTER: {
|
|
257
|
+
const centerX = (this.width - 1) / 2;
|
|
258
|
+
const centerY = (this.height - 1) / 2;
|
|
259
|
+
if (round) {
|
|
260
|
+
return [Math.round(centerX), Math.round(centerY)];
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
return [centerX, centerY];
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
case ImageCoordinates.TOP_LEFT:
|
|
267
|
+
return [0, 0];
|
|
268
|
+
case ImageCoordinates.TOP_RIGHT:
|
|
269
|
+
return [this.width - 1, 0];
|
|
270
|
+
case ImageCoordinates.BOTTOM_LEFT:
|
|
271
|
+
return [0, this.height - 1];
|
|
272
|
+
case ImageCoordinates.BOTTOM_RIGHT:
|
|
273
|
+
return [this.width - 1, this.height - 1];
|
|
274
|
+
default:
|
|
275
|
+
throw new Error(`Unknow image coordinates ${coordinates}`);
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
// COMPUTE
|
|
279
|
+
histogram(options) {
|
|
280
|
+
return histogram(this, options);
|
|
281
|
+
}
|
|
282
|
+
// OPERATIONS
|
|
283
|
+
split() {
|
|
284
|
+
return split(this);
|
|
285
|
+
}
|
|
286
|
+
convertColor(colorModel, options) {
|
|
287
|
+
return convertColor(this, colorModel, options);
|
|
288
|
+
}
|
|
289
|
+
convertDepth(newDepth) {
|
|
290
|
+
return convertDepth(this, newDepth);
|
|
291
|
+
}
|
|
292
|
+
grey(options) {
|
|
293
|
+
return grey(this, options);
|
|
294
|
+
}
|
|
295
|
+
copyTo(target, options = {}) {
|
|
296
|
+
return copyTo(this, target, options);
|
|
297
|
+
}
|
|
298
|
+
threshold(options = {}) {
|
|
299
|
+
return threshold(this, options);
|
|
300
|
+
}
|
|
301
|
+
// FILTERS
|
|
302
|
+
blur(options) {
|
|
303
|
+
return blur(this, options);
|
|
304
|
+
}
|
|
305
|
+
directConvolution(kernel, options) {
|
|
306
|
+
return directConvolution(this, kernel, options);
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* Compute direct convolution of an image and return an array with the raw values.
|
|
310
|
+
*
|
|
311
|
+
* @param kernel - Kernel used for the convolution.
|
|
312
|
+
* @param options - Convolution options.
|
|
313
|
+
* @returns Array with the raw convoluted values.
|
|
314
|
+
*/
|
|
315
|
+
rawDirectConvolution(kernel, options) {
|
|
316
|
+
return rawDirectConvolution(this, kernel, options);
|
|
317
|
+
}
|
|
318
|
+
separableConvolution(kernelX, kernelY, options) {
|
|
319
|
+
return separableConvolution(this, kernelX, kernelY, options);
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Apply a gaussian filter to an image.
|
|
323
|
+
*
|
|
324
|
+
* @param options - Gaussian blur options.
|
|
325
|
+
* @returns The blurred image.
|
|
326
|
+
*/
|
|
327
|
+
gaussianBlur(options) {
|
|
328
|
+
return gaussianBlur(this, options);
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Invert the colors of the image.
|
|
332
|
+
*
|
|
333
|
+
* @param options - Inversion options
|
|
334
|
+
* @returns The inverted image.
|
|
335
|
+
*/
|
|
336
|
+
invert(options) {
|
|
337
|
+
return invert(this, options);
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Subtract other from an image.
|
|
341
|
+
*
|
|
342
|
+
* @param other - Image to subtract
|
|
343
|
+
* @param options - Inversion options
|
|
344
|
+
* @returns The subtracted image.
|
|
345
|
+
*/
|
|
346
|
+
subtractImage(other, options) {
|
|
347
|
+
return subtractImage(this, other, options);
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Calculate a new image that is the hypotenuse between the current image and the other.
|
|
351
|
+
*
|
|
352
|
+
* @param other - Other image.
|
|
353
|
+
* @param options - Hypotenuse options.
|
|
354
|
+
* @returns Hypotenuse of the two images.
|
|
355
|
+
*/
|
|
356
|
+
hypotenuse(other, options) {
|
|
357
|
+
return hypotenuse(this, other, options);
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Apply a gradient filter to an image.
|
|
361
|
+
*
|
|
362
|
+
* @param options - Gradient filter options.
|
|
363
|
+
* @returns The gradient image.
|
|
364
|
+
*/
|
|
365
|
+
gradientFilter(options) {
|
|
366
|
+
return gradientFilter(this, options);
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Apply a derivative filter to an image.
|
|
370
|
+
*
|
|
371
|
+
* @param options - Derivative filter options.
|
|
372
|
+
* @returns The processed image.
|
|
373
|
+
*/
|
|
374
|
+
derivativeFilter(options) {
|
|
375
|
+
return derivativeFilter(this, options);
|
|
376
|
+
}
|
|
377
|
+
// GEOMETRY
|
|
378
|
+
rotate(angle, options) {
|
|
379
|
+
return rotate(this, angle, options);
|
|
380
|
+
}
|
|
381
|
+
resize(options) {
|
|
382
|
+
return resize(this, options);
|
|
383
|
+
}
|
|
384
|
+
transform(transformMatrix, options) {
|
|
385
|
+
return transform(this, transformMatrix, options);
|
|
386
|
+
}
|
|
387
|
+
// MORPHOLOGY
|
|
388
|
+
/**
|
|
389
|
+
* Erode an image.
|
|
390
|
+
*
|
|
391
|
+
* @param options - Erode options.
|
|
392
|
+
* @returns The eroded image.
|
|
393
|
+
*/
|
|
394
|
+
erode(options) {
|
|
395
|
+
return erode(this, options);
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* Dilate an image.
|
|
399
|
+
*
|
|
400
|
+
* @param options - Dilate options.
|
|
401
|
+
* @returns The dilated image.
|
|
402
|
+
*/
|
|
403
|
+
dilate(options) {
|
|
404
|
+
return dilate(this, options);
|
|
405
|
+
}
|
|
406
|
+
/**
|
|
407
|
+
* Open an image.
|
|
408
|
+
*
|
|
409
|
+
* @param options - Open options.
|
|
410
|
+
* @returns The opened image.
|
|
411
|
+
*/
|
|
412
|
+
open(options) {
|
|
413
|
+
return open(this, options);
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Close an image.
|
|
417
|
+
*
|
|
418
|
+
* @param options - Close options.
|
|
419
|
+
* @returns The closed image.
|
|
420
|
+
*/
|
|
421
|
+
close(options) {
|
|
422
|
+
return close(this, options);
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* Top hat of an image.
|
|
426
|
+
*
|
|
427
|
+
* @param options - Top hat options.
|
|
428
|
+
* @returns The top-hatted image.
|
|
429
|
+
*/
|
|
430
|
+
topHat(options) {
|
|
431
|
+
return topHat(this, options);
|
|
432
|
+
}
|
|
433
|
+
/**
|
|
434
|
+
* Bottom hat of an image.
|
|
435
|
+
*
|
|
436
|
+
* @param options - Bottom hat options.
|
|
437
|
+
* @returns The bottom-hatted image.
|
|
438
|
+
*/
|
|
439
|
+
bottomHat(options) {
|
|
440
|
+
return bottomHat(this, options);
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* Apply morphological gradient to an image.
|
|
444
|
+
*
|
|
445
|
+
* @param options - morphological gradient options.
|
|
446
|
+
* @returns The processed image.
|
|
447
|
+
*/
|
|
448
|
+
morphologicalGradient(options) {
|
|
449
|
+
return morphologicalGradient(this, options);
|
|
450
|
+
}
|
|
451
|
+
/**
|
|
452
|
+
* Apply Canny edge detection to an image.
|
|
453
|
+
*
|
|
454
|
+
* @param options - Canny edge detection options.
|
|
455
|
+
* @returns The processed image.
|
|
456
|
+
*/
|
|
457
|
+
cannyEdgeDetector(options) {
|
|
458
|
+
return cannyEdgeDetector(this, options);
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
/**
|
|
462
|
+
* Create data array and set alpha channel to max value if applicable.
|
|
463
|
+
*
|
|
464
|
+
* @param size - Number of pixels.
|
|
465
|
+
* @param channels - Number of channels.
|
|
466
|
+
* @param alpha - Specify if there is alpha channel.
|
|
467
|
+
* @param depth - Number of bits per channel.
|
|
468
|
+
* @param maxValue - Maximal acceptable value for the channels.
|
|
469
|
+
* @returns The new pixel array.
|
|
470
|
+
*/
|
|
471
|
+
function createPixelArray(size, channels, alpha, depth, maxValue) {
|
|
472
|
+
const length = channels * size;
|
|
473
|
+
let arr;
|
|
474
|
+
switch (depth) {
|
|
475
|
+
case ColorDepth.UINT8:
|
|
476
|
+
arr = new Uint8Array(length);
|
|
477
|
+
break;
|
|
478
|
+
case ColorDepth.UINT16:
|
|
479
|
+
arr = new Uint16Array(length);
|
|
480
|
+
break;
|
|
481
|
+
default:
|
|
482
|
+
throw new Error(`unexpected color depth: ${depth}`);
|
|
483
|
+
}
|
|
484
|
+
// Alpha channel is 100% by default.
|
|
485
|
+
if (alpha) {
|
|
486
|
+
for (let i = channels - 1; i < length; i += channels) {
|
|
487
|
+
arr[i] = maxValue;
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
return arr;
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* Returns the image data as a formatted string.
|
|
494
|
+
*
|
|
495
|
+
* @param img - The image instance.
|
|
496
|
+
* @returns Formatted string containing the image data.
|
|
497
|
+
*/
|
|
498
|
+
function printData(img) {
|
|
499
|
+
const channels = [];
|
|
500
|
+
for (let c = 0; c < img.channels; c++) {
|
|
501
|
+
channels.push(`[${printChannel(img, c)}]`);
|
|
502
|
+
}
|
|
503
|
+
return `{
|
|
504
|
+
${channels.join('\n\n ')}
|
|
505
|
+
}`;
|
|
506
|
+
}
|
|
507
|
+
/**
|
|
508
|
+
* Returns all values of a channel as a string.
|
|
509
|
+
*
|
|
510
|
+
* @param img - Input image.
|
|
511
|
+
* @param channel - Specified channel.
|
|
512
|
+
* @returns Formatted string with all values of a channel.
|
|
513
|
+
*/
|
|
514
|
+
function printChannel(img, channel) {
|
|
515
|
+
const result = [];
|
|
516
|
+
const padding = img.depth === 8 ? 3 : 5;
|
|
517
|
+
for (let i = 0; i < img.height; i++) {
|
|
518
|
+
const line = [];
|
|
519
|
+
for (let j = 0; j < img.width; j++) {
|
|
520
|
+
line.push(String(img.getValue(i, j, channel)).padStart(padding, ' '));
|
|
521
|
+
}
|
|
522
|
+
result.push(`[${line.join(' ')}]`);
|
|
523
|
+
}
|
|
524
|
+
return result.join('\n ');
|
|
525
|
+
}
|
|
526
|
+
//# sourceMappingURL=IJS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IJS.js","sourceRoot":"","sources":["../src/IJS.ts"],"names":[],"mappings":"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"}
|