{"_id":"marchingsquares","_rev":"11-92862122c5d57144415d48a039ca00ce","name":"marchingsquares","description":"MarchingSquaresJS - An implementation of the Marching Squares algorithm featuring Isocontour and Isoband computation.","dist-tags":{"latest":"1.3.3"},"versions":{"1.1.1":{"name":"marchingsquares","main":"./marchingsquares.js","description":"MarchingSquaresJS - An implementation of the Marching Squares algorithm featuring Isocontour and Isoband computation.","version":"1.1.1","directories":{"example":"example"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git@krios.tbi.univie.ac.at:ronny/MarchingSquaresJS.git"},"keywords":["marchingsquares","marching","squares","isocontour","isoband","isoline"],"author":{"name":"Ronny Lorenz","email":"ronny@tbi.univie.ac.at"},"license":"AGPL-3.0","gitHead":"bd7ba7710926a09b57026a40d498ca11164a25f8","_id":"marchingsquares@1.1.1","_shasum":"13a67ed37d207642d4f545a03561da4051b3153b","_from":".","_npmVersion":"4.4.1","_nodeVersion":"7.7.3","_npmUser":{"name":"raumzeit","email":"ronny@tbi.univie.ac.at"},"dist":{"shasum":"13a67ed37d207642d4f545a03561da4051b3153b","tarball":"https://registry.npmjs.org/marchingsquares/-/marchingsquares-1.1.1.tgz","integrity":"sha512-8HwQ0p8YW2f+BijlPT5+R2hbVNl9jGzn3gfvxra59XRT/GBKRRXfc71p23bed3XnAgiXNXWDsH3E+0a69J/HBg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJWFDtVVib01dI69uL7r8nJo6FDnelCCuvpwSWrS762QIgU5a6UPHWbjcc+O1cdbs52zSkLYlhZj4KBJXCckfmmu8="}]},"maintainers":[{"name":"raumzeit","email":"ronny@tbi.univie.ac.at"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/marchingsquares-1.1.1.tgz_1489925326048_0.7909158752299845"}},"1.2.0":{"name":"marchingsquares","main":"./marchingsquares.js","description":"MarchingSquaresJS - An implementation of the Marching Squares algorithm featuring Isocontour and Isoband computation.","version":"1.2.0","directories":{"example":"example"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git@krios.tbi.univie.ac.at:ronny/MarchingSquaresJS.git"},"keywords":["marchingsquares","marching","squares","isocontour","isoband","isoline"],"author":{"name":"Ronny Lorenz","email":"ronny@tbi.univie.ac.at"},"license":"AGPL-3.0","gitHead":"4f7113ae2dc69ee6a5e76e68243bc5441be97172","_id":"marchingsquares@1.2.0","_shasum":"36ae2dcc170be576d42579aac3c46da89ab650e6","_from":".","_npmVersion":"4.4.1","_nodeVersion":"7.7.3","_npmUser":{"name":"raumzeit","email":"ronny@tbi.univie.ac.at"},"dist":{"shasum":"36ae2dcc170be576d42579aac3c46da89ab650e6","tarball":"https://registry.npmjs.org/marchingsquares/-/marchingsquares-1.2.0.tgz","integrity":"sha512-qWXJDs9flDf6Ias8eb9kK4z2QL/QlIhXVJgFoADmw59gh3zMInybvMx23hMQ62moMfpRuMJQ3ZZVuHN086x5Pw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAlN8wM7eSQZfFRNxAX8LR74irQ2+US7/menXc5MSuERAiEAssJysagdmRcMvkf1ezvlU+xhGlmJr6GN8Pq2IwIGkfE="}]},"maintainers":[{"name":"raumzeit","email":"ronny@tbi.univie.ac.at"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/marchingsquares-1.2.0.tgz_1489926692387_0.42545127286575735"}},"1.2.1":{"name":"marchingsquares","main":"./marchingsquares.js","description":"MarchingSquaresJS - An implementation of the Marching Squares algorithm featuring Isocontour and Isoband computation.","version":"1.2.1","directories":{"example":"example"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git@krios.tbi.univie.ac.at:ronny/MarchingSquaresJS.git"},"keywords":["marchingsquares","marching","squares","isocontour","isoband","isoline"],"author":{"name":"Ronny Lorenz","email":"ronny@tbi.univie.ac.at"},"license":"AGPL-3.0","gitHead":"c477912067035ee399aa04a0656534569c51e48b","_id":"marchingsquares@1.2.1","_npmVersion":"6.0.1","_nodeVersion":"10.1.0","_npmUser":{"name":"raumzeit","email":"ronny@tbi.univie.ac.at"},"dist":{"integrity":"sha512-BNf76EW1C/4vIa2f8N7dx0p75DkaykWT6mnOBoRc2QAM7hu3dLi0PflooHIXgu5fICX4LnKbtUs/rRO5Tx2mTQ==","shasum":"b2c19836944effb6636217b4d228fa95e08ddb05","tarball":"https://registry.npmjs.org/marchingsquares/-/marchingsquares-1.2.1.tgz","fileCount":17,"unpackedSize":239310,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbFaeaCRA9TVsSAnZWagAAb7gQAJec7FZuMYCqrBcriH9m\nt/PzVNuR00OfddRN27mR8JEruGLoZRqzbG0LHbB+jIAuyE8d3zxoW7ujJsUV\nB00aEFhatXhKfCc3Cx8GSypYWg0kIalOPQN4NKvXOzLle/rlOIHeVXEKrkn9\nKEaE9mv01gDVMrKJxUS/Ynaijn1knh7dTUfdk2YiTQfTk+cLjIEOmXwRGYWD\nGMWejNUPrHxZoIc/ruGnJxRgRtcBaqgFGpssh51InaZ4BmP2GnIdoF1cAovm\nXiLXYtHujnS41RstQuH40Q2orTEXFyw+zg24QDjYFLSPLVxt8z5iL5zS3W/x\nXaoYi7u14eva32AQ37IIad3cVpdUJ0JBCWC3p0XFwfhRNv1S9eXSrT9TT6FH\nHVicIgRb6ZFXFqQS9t34LsJZVIS1SVnhUTHslHswURtvk+7hMNT9hNWwW1RB\nnVQhnE8DGk3ZXRzlQRWdsM8W3wwVSM9sV422lmSN49+VoSogVi9zA/BaTq8i\nz0ZDwoP+DyBbMgVbm5ZQxZEFtUSQD0Yl5c+x115Fjuc+kspT0pU35mHm31Hy\n+X6274OZU66L/kiuE8eIIa7mAugqItYiRfCRnulI2OT/Rke8ltLx2BSN6+O/\nYBrlRnbvs1KWHlxYdh/0nZrWZeVUnVvI4WT6qToAqvphxS7g24885WLdCp5a\n9B0L\r\n=6p81\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKi/OXGklFUAMf+3zr4C222BQGU6xqwSLUsNzbkcj/pwIgTT0y2xz0VFtf5xf7FR3dBXQkdXFCf+sMBWJzyRfBeQQ="}]},"maintainers":[{"name":"raumzeit","email":"ronny@tbi.univie.ac.at"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/marchingsquares_1.2.1_1528145816598_0.588101230574998"},"_hasShrinkwrap":false},"1.2.2":{"name":"marchingsquares","main":"./marchingsquares.js","description":"MarchingSquaresJS - An implementation of the Marching Squares algorithm featuring Isocontour and Isoband computation.","version":"1.2.2","directories":{"example":"example"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git@krios.tbi.univie.ac.at:ronny/MarchingSquaresJS.git"},"keywords":["marchingsquares","marching","squares","isocontour","isoband","isoline"],"author":{"name":"Ronny Lorenz","email":"ronny@tbi.univie.ac.at"},"license":"AGPL-3.0","gitHead":"f3bfa36153c7155acc5643e590627454347dc5b8","_id":"marchingsquares@1.2.2","_npmVersion":"6.0.1","_nodeVersion":"10.1.0","_npmUser":{"name":"raumzeit","email":"ronny@tbi.univie.ac.at"},"dist":{"integrity":"sha512-v7i5ygb82FaPD2f7O65vjvQ67Ii4tRN1kTq2RuhWAZ0DiN7fv8lYgh+0uWIoo1qMS3N1B++y2qPmzT+3mV8bOQ==","shasum":"3ba9087abdeaaaa35bc3387ccb11cf00f4b43011","tarball":"https://registry.npmjs.org/marchingsquares/-/marchingsquares-1.2.2.tgz","fileCount":17,"unpackedSize":188913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbGElOCRA9TVsSAnZWagAABsgP/3vVfM+H3lmCOq/tzJ6A\nhK/YiX9sUUk8FbenlJGUz9qUbGEnfmuc3BmjaA1ckTb/qeHGOiPVk6g6i4gl\nohQcUDkZK/VsiWG6YlRlvp+JkcOg9af/Epb2mY8DWzwiJ4tUr5vwIARQvTU8\nDyVyaJDb929ccMfTBmAg+fwCgwrWpMFhJ17cWWJzvDgzULSnUG+Rziw1n7Sy\n8Bdk37QQl8wItoooH38iThV2hN/acM0cQFQRCOY8E0wosP8r/DnN5L7V0Olt\nOKIRjE9DhQVvhhAOngyEMvUs2Hs4GF4Rrgd7wBJHatxvAKIraUfc9ykdShug\nPbPBfITbvIDDkFmzsyATzejfYqRhC/n5fgUZCrw0MzaBD+x9y7jrq5OIaHhc\nnI406ZePZYKUlr3MslsEHc23SZTYL0lgt8nGBRbmGZeDmtE8DNQmUM5RNTxA\nf2U0h+e9T1KV3J1JYLzEwmcLyT50pnitr5E+iAcrCAmvBvE15uFXEXqSIj50\n4RWu8qEUiB0KzmPvXKspH5iW/tDI/UnNDOhGnsIkJwS2FDRIUzET2am8MjII\nSVFmNzc23D2g+CTLov1r22e2Fo1r2f+VaoUbRdDVY5n8gPFHbvfmitpKCnMU\n/TdgAV86CGNeGCmtcGZ6QU3tc1Pih4BYK0Pavkv3Y+pHcB9a9tH3iKZLNEWB\na9vx\r\n=S6uC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjMqqwAStQ657DEc8Phv6JjFxP9bJu4tbQVt8hiY40WQIgXbWolGixLIR3lEfDMS6MQdPLC4JSxoCYRyOchrKhU0Y="}]},"maintainers":[{"name":"raumzeit","email":"ronny@tbi.univie.ac.at"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/marchingsquares_1.2.2_1528318285318_0.9498763559250016"},"_hasShrinkwrap":false},"1.2.3":{"name":"marchingsquares","main":"./marchingsquares.js","description":"MarchingSquaresJS - An implementation of the Marching Squares algorithm featuring Isocontour and Isoband computation.","version":"1.2.3","directories":{"example":"example"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git@krios.tbi.univie.ac.at:ronny/MarchingSquaresJS.git"},"keywords":["marchingsquares","marching","squares","isocontour","isoband","isoline"],"author":{"name":"Ronny Lorenz","email":"ronny@tbi.univie.ac.at"},"license":"AGPL-3.0","gitHead":"95d1613c4070f07c6f36764c5a52a40641250317","_id":"marchingsquares@1.2.3","_npmVersion":"6.0.1","_nodeVersion":"10.1.0","_npmUser":{"name":"raumzeit","email":"ronny@tbi.univie.ac.at"},"dist":{"integrity":"sha512-FLvUFm4nT7IUhLWxjO98QZOth4g0FrVVDbZQ2t8Ow0YZWM7JGnDMpnI3Kmrk2jQCykT9UT66+4q5s/ReaMse0g==","shasum":"0f29a8a4741c94a4204ec750504cb9c06c7df8f4","tarball":"https://registry.npmjs.org/marchingsquares/-/marchingsquares-1.2.3.tgz","fileCount":18,"unpackedSize":203494,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbHTllCRA9TVsSAnZWagAAvIoQAJGZ3Ijqk/d6D2/ENWTX\n2REOuH1D2u9xdy0teOLnPJnm4WxYVJ2hVPe8acNcCxvHHKLbr5jh7kCVWZR3\njli7xBRb71xE7ysbtMsKBM1dCUiD2tHlMs6McMqjF4jvbU4k2RaBAQHNlNKi\n4dKh/FG/LEecKmIRkARVUQucjR/ZO/jANmhcb2CLCp8D8XIVslP62/65IFeA\nU9oZhDJaa9CvKizISa0AGVv6snPjdbJAdKd5fAP3Vp9raKXN3n6zlKuod8fM\nDDccsftPvAFYzh7WS+H6l+2H6whLoPHMcotDxiVRBFIZqPUnXb06eCHJOxl2\n6XcCiWFqtpIhSXeHx6eZkhD7h31y4YoR/UDCnLjSCvUSZJQ4beaGPqj94AHb\nnTWvh32VJ2YZ+EBuVT4Ot6rgLqr/uR7G4ROJpZbnqVuJE1xvNI3HrbXcg8g9\n2yGYzBbnaNKF2aUZrYMwuiJgFPB1i+pfCC5tfOLFb2zuxjB+skk/Hkk2gjjs\nic+ucB19SU+NAFlentI08YlbwKA7TRtdUHsFZT8LL91PV9/5yFMB8ImRkPJo\n50Ty5fx4qccjYM9v6rL1QGZ5MGQQiNXZPC9Djl7AdTZukdBSqvlOdipNnS6W\n/gT1EARXmlAEi3AdsXxL1A0YW7rlUEU8w1DfYEduEd4sdIB2eOkWDRs48UWP\nfQnS\r\n=ZgXg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEMCHwf3JQKTjJOQiPVei0GXtMo9v5w4rXxjA/52ZwdntDECIClubIuVZJMtPsCh7UeQjkrtFnbQFNKwkET0aCmrrC29"}]},"maintainers":[{"name":"raumzeit","email":"ronny@tbi.univie.ac.at"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/marchingsquares_1.2.3_1528641891968_0.196152489578024"},"_hasShrinkwrap":false},"1.3.0":{"name":"marchingsquares","description":"MarchingSquaresJS - An implementation of the Marching Squares algorithm featuring Isocontour and Isoband computation.","version":"1.3.0","author":{"name":"Ronny Lorenz","email":"ronny@tbi.univie.ac.at"},"contributors":[{"name":"Stefano Borghi"},{"name":"Peter Kerpedjiev"}],"license":"AGPL-3.0","main":"./dist/marchingsquares.js","module":"./dist/marchingsquares-esm.js","directories":{"example":"./example","dist":"./dist"},"scripts":{"build":"rollup -c","test":"node ./test/test.js"},"repository":{"type":"git","url":"git@krios.tbi.univie.ac.at:ronny/MarchingSquaresJS.git"},"bugs":{"url":"https://github.com/RaumZeit/MarchingSquares.js/issues"},"keywords":["marchingsquares","marching","squares","isocontour","isoband","isoline"],"devDependencies":{"load-json-file":"^2.0.0","rollup":"^0.60.7","rollup-plugin-eslint":"^4.0.0","rollup-plugin-uglify":"^4.0.0","tape":"^4.9.1"},"gitHead":"a9e0890e2434f7218c654a67503ab13ccc67c9c1","_id":"marchingsquares@1.3.0","_npmVersion":"6.1.0","_nodeVersion":"10.4.1","_npmUser":{"name":"raumzeit","email":"ronny@tbi.univie.ac.at"},"dist":{"integrity":"sha512-U5Da3WGa30ZdhNWOD5ejdyCf2wrfpyo6RvwU2SQ1r8XD6QXGyW5ULo08o/xjG6tKZkCeQ2G6PAZVDbvGj7Ys5w==","shasum":"93300b327ecba547ec8b9074327ce27df9ff002b","tarball":"https://registry.npmjs.org/marchingsquares/-/marchingsquares-1.3.0.tgz","fileCount":46,"unpackedSize":1740548,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbLmM2CRA9TVsSAnZWagAA434QAKHhBQL9c0Awp+MRSAdD\nnEnSeDizLP8qN6Z/ZZ/o7rGQ4hfPo1WL8pbwtkZWpM/rSkLILtasEwm/vHz+\nmJUiy4x9QIHVQqOtXwOIROpjTnncCaZke+pjYodSFvhpem06h36ljSRFOPGU\ni/JQcRY5uvHUXKQBUPprwylNTzYZBMsDN1N55FEI4Da0MPyhhCwz0mOJoWhl\nCiT3E2OUr36hrcv7LRhvxe3LCYZDcqV4qwz1DmH8JABVeHbKoJS2yYvAFaGA\n2qOPhuogeSJuvRyIeTBb8yllejKUwtTWiq2tz3rs0M+Uf/ra4SDC1NQguKyX\n6h66iTgqAJLYenhXV89S1QL4oNXQvBrGnXmKSCQFBM6fJPO733eJ/DM+dMDQ\naixzv/EoiNqQNeQ+8Def0Se1hEK8jMj3HIzodkelbTFBaflgzY1Ii/KW7OMu\nzixed3ArVy/x+ez2E8IKDfFPAfyvQ9nMfiVjINj637uOlNG97fRqKh5YmGj3\nEN8ltwpgVwPbJq2QS6d+OIs9iYHNgRf2J96TnhKI3S4bOlTc53d+RW3AjnCZ\nB6z8UYDk98ftpl3YKVMWHKaEaHHnOfVgIU+8oW/kKhbJYY+tHKBEB5IUCR28\nt32vhVyGdime2OBDAl06OM2YDOZjfbizWsVGSfqk3OdXFoOq0i8GdzsAPL97\n/0Td\r\n=viFR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBg8FogSHRM23Phxj3/LZsVv2CiOb89fMWunHIrj7xP8AiEAhcXdhxuNYVfjulSTmhCtqqWr5MwA8nEzQQ2Slxltlt4="}]},"maintainers":[{"name":"raumzeit","email":"ronny@tbi.univie.ac.at"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/marchingsquares_1.3.0_1529766710232_0.6304930872553021"},"_hasShrinkwrap":false},"1.3.1":{"name":"marchingsquares","description":"MarchingSquaresJS - An implementation of the Marching Squares algorithm featuring Isocontour and Isoband computation.","version":"1.3.1","author":{"name":"Ronny Lorenz","email":"ronny@tbi.univie.ac.at"},"contributors":[{"name":"Stefano Borghi"},{"name":"Peter Kerpedjiev"}],"license":"AGPL-3.0","main":"./dist/marchingsquares.js","module":"./dist/marchingsquares-esm.js","directories":{"example":"./example","dist":"./dist"},"scripts":{"lint":"eslint --fix src/**","build":"rollup -c","pretest":"rollup -c rollup.config.test.js","test":"node ./test/test.js"},"repository":{"type":"git","url":"git://github.com/RaumZeit/MarchingSquares.js.git"},"bugs":{"url":"https://github.com/RaumZeit/MarchingSquares.js/issues"},"keywords":["marchingsquares","marching","squares","isocontour","isoband","isoline"],"devDependencies":{"eslint":"5.0.1","load-json-file":"^2.0.0","rollup":"^0.60.7","rollup-plugin-eslint":"^4.0.0","rollup-plugin-uglify":"^4.0.0","tape":"^4.9.1"},"gitHead":"f729b3db16307bef2c6848208b12664f8bf56498","homepage":"https://github.com/RaumZeit/MarchingSquares.js#readme","_id":"marchingsquares@1.3.1","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"raumzeit","email":"ronny@tbi.univie.ac.at"},"dist":{"integrity":"sha512-PcrTxDtKuwya2HS9NILsMolppeoSmebzcz/uzsTKhkC6ily7ZtXma2lN+26AljK4xMXUbBDrU04jdi+hmPNPRw==","shasum":"54df5d89954645e1cc955a2ec98b2193a82a99fe","tarball":"https://registry.npmjs.org/marchingsquares/-/marchingsquares-1.3.1.tgz","fileCount":55,"unpackedSize":1758568,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbPnuXCRA9TVsSAnZWagAAlvEP/2vGijW7hw8LBnqnHZ9y\nTKvDjuMfCRGoPG3ZXVdQZjKukEuzFxYnbI63n2f/Ywb7GRHS3frW1ppkegyR\ni3LA5uedlwPa62FtQinBQxX20wTOWK1lTqCfpEtl4H1pZhv/sEdC7IVGzmkd\nE8kjHsta7bKBO3ecI9E8rcFMNtC4qVst1YatXtN3CdGlow04HBa4sR4eEMxz\nvd02TqF7vWd7bFhOFugtklIeWg2u2EsE4/cwi6CErhNqwkGjksE25ZBNOIZB\nb9TJvu29OVm1qFePHZI9EFv9iewqOt205XqHCE48ThkuEj+hVZadSFuO72Ak\n7+25nPQq5Dn9diepGoD6w020nbTwwGnMxiNp2ZQLrs312Y3fY6UgL8N2SmJP\nyvh51zDcVOMrMS0cXlHCoWFUCwvX4zI1hCZkB0JqWsGB1+jNU6EnYmx4Ll39\ncwLBF8nsYZnBPE59bF+FF5ruc77zMMcGPV/MgeMQjPK3fSoP6eHgLw/9gA2k\n5gHcApCfCc78jArXPJby7m3nohzLmu+aNm7Udg95J0FtQyuLlcd6anDyP6Ge\nnsWOfzHoCpY+Wf418QaJXL+lIPq/aXuGm8AJfPdX2PEkFIetgVRmPyhAA4Mn\nbEV+KWRS7Fi3Jc3m1p+vBxvjbCT+b7H3+/kiRWGptv1/vf94J5X/+G0ph7TT\nogRw\r\n=E/Wn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbsoG8jEyZJGj5j65sCedJ5uSVEtcZsuLSlVuHAcAVrAIgMxkKZcQNKFZJO5oFWg2XgTM7LFIBjUckAu/QFbQf3Bk="}]},"maintainers":[{"name":"raumzeit","email":"ronny@tbi.univie.ac.at"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/marchingsquares_1.3.1_1530821527170_0.447622111986997"},"_hasShrinkwrap":false},"1.3.2":{"name":"marchingsquares","description":"MarchingSquaresJS - An implementation of the Marching Squares algorithm featuring Isocontour and Isoband computation.","version":"1.3.2","author":{"name":"Ronny Lorenz","email":"ronny@tbi.univie.ac.at"},"contributors":[{"name":"Stefano Borghi"},{"name":"Peter Kerpedjiev"}],"license":"AGPL-3.0","main":"./dist/marchingsquares.js","module":"./dist/marchingsquares-esm.js","directories":{"example":"./example","dist":"./dist"},"scripts":{"lint":"eslint --fix src/**","build":"rollup -c","pretest":"rollup -c rollup.config.test.js","test":"node ./test/test.js"},"homepage":"https://github.com/RaumZeit/MarchingSquares.js/blob/master/README.md","repository":{"type":"git","url":"git://github.com/RaumZeit/MarchingSquares.js.git"},"bugs":{"url":"https://github.com/RaumZeit/MarchingSquares.js/issues"},"keywords":["marchingsquares","marching","squares","isocontour","isoband","isoline"],"devDependencies":{"eslint":"5.0.1","load-json-file":"^2.0.0","rollup":"^0.60.7","rollup-plugin-eslint":"^4.0.0","rollup-plugin-uglify":"^4.0.0","tape":"^4.9.1"},"gitHead":"bfea0a37642161446776a2317605e04f769492c7","_id":"marchingsquares@1.3.2","_npmVersion":"6.4.0","_nodeVersion":"10.9.0","_npmUser":{"name":"raumzeit","email":"ronny@tbi.univie.ac.at"},"dist":{"integrity":"sha512-I7rhEHtG6S9qWHNKr6qjOCur3YMmJ9Q0cr9OmMDcvyH3K4h0Sk9zxsE+U5PlH5aBnNoXkbm59w5Ju4U2x6+1eQ==","shasum":"47d198ac42cb9f9730ec446d77f24300a290675e","tarball":"https://registry.npmjs.org/marchingsquares/-/marchingsquares-1.3.2.tgz","fileCount":55,"unpackedSize":1762794,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbjBwjCRA9TVsSAnZWagAAsnAP/0wz/Bo0E+XjmLCVWugO\nX1Y064FTpezM+L6lBXV/AWMcn/XSo/gs8NmUAIg5qRiTQUnpreVIGMSXlX4u\nHXQkr2IiStairEC34DTC6u3nYWNO68/eU4E/pngCEyDY4ZRp1AnrWXtTwFA4\n7K3fQPbVkLp4Td8WpdgrQLLUqd4ZdbCggH+F357vrKGV3H5usEoshYmYEKOf\nEjZ0N0HUzozjnXzYR1PH7NB/v+PYUgZlZ+Csa4qcQ5XuqAYVXO8SYPSCGXW+\n9NDm9j21LriZVsFulCFvmAa6QisyXHPxZYaf1K35cJY/QrR10kewHwEdXzzt\nwxqMF79XSaYygV8gp36I10ua2DwwwK1X11UlrLIo9ACNMYCQ9LjJaom/WJ1r\nPbUIb0b9ULBy/+VGnB/9C23o0uJMGdyt2Unh0WFkvdVvk2N3L+uVV0SbPpWg\nYbbiWVNJ8XWUjiSoqR1LoGqWJ3EE66EW5rqQmsMpDzgCWHq6aimruv5Imk3i\n4f5GWGuMdihPJKT415kbHnFCW+zhg2B3FSvmwPZjDA+wBKk7jalvQgJ1LHN4\n+h/zCQm7myN2udV5VHoJhfVITcOXXbC85D643114pRCkqnR5vNB9/uaUWRUz\n7bxlAXYf43Av+Usgjl0mN8xUwpLXMLY8FGEALnViUj6zhVH2LdNOF50hJ2rL\nq/rK\r\n=CjCc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB4LkXGn5Na9KQMNcJZ/Cj43fCtpAZPN81Yb+F7i7xutAiEAxh5bocIY53k35D84tattc9Q4BoXqqB5USDAPbgXSgBA="}]},"maintainers":[{"name":"raumzeit","email":"ronny@tbi.univie.ac.at"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/marchingsquares_1.3.2_1535908897230_0.43123633569951836"},"_hasShrinkwrap":false},"1.3.3":{"name":"marchingsquares","description":"MarchingSquaresJS - An implementation of the Marching Squares algorithm featuring Isocontour and Isoband computation.","version":"1.3.3","author":{"name":"Ronny Lorenz","email":"ronny@tbi.univie.ac.at"},"contributors":[{"name":"Stefano Borghi"},{"name":"Peter Kerpedjiev"}],"license":"AGPL-3.0","main":"./dist/marchingsquares.js","module":"./dist/marchingsquares-esm.js","directories":{"example":"./example","dist":"./dist"},"scripts":{"lint":"eslint --fix src/**","build":"rollup -c","pretest":"rollup -c rollup.config.test.js","test":"node ./test/test.js"},"homepage":"https://github.com/RaumZeit/MarchingSquares.js/blob/master/README.md","repository":{"type":"git","url":"git://github.com/RaumZeit/MarchingSquares.js.git"},"bugs":{"url":"https://github.com/RaumZeit/MarchingSquares.js/issues"},"keywords":["marchingsquares","marching","squares","isocontour","isoband","isoline"],"devDependencies":{"eslint":"5.0.1","load-json-file":"^2.0.0","rollup":"^0.60.7","rollup-plugin-eslint":"^4.0.0","rollup-plugin-uglify":"^4.0.0","tape":"^4.9.1"},"gitHead":"4960140097417de2845d8a9bcad40db469c9dc19","_id":"marchingsquares@1.3.3","_nodeVersion":"11.14.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-gz6nNQoVK7Lkh2pZulrT4qd4347S/toG9RXH2pyzhLgkL5mLkBoqgv4EvAGXcV0ikDW72n/OQb3Xe8bGagQZCg==","shasum":"67404af4b883ade3a589221f4e9dd010a1f706fc","tarball":"https://registry.npmjs.org/marchingsquares/-/marchingsquares-1.3.3.tgz","fileCount":55,"unpackedSize":1765497,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcxYWJCRA9TVsSAnZWagAApdIP/Rpsq/QuM5+IyQEbvwhT\nNP+vZ5N887HIKZQqLDrONXSyWOZPQSuOFHNi18stp5k2G1gkgLNMwVaVdhTe\nZYfSzu/6HLQBrJKKMKTlGUsAXDdk6n8OGTLnmsG/fcv7/8jolHmA3yNGKDJC\no4ggySvCAl6TANwW8J3kwuIa5wzDA1xG+t6yPawJLfmZt8Y7qw39Rz5L+zPQ\noRVGjMSOk3r03/bJ1y8vXhux4Dk135yLDXeHZJAYHIjz2WIN8MBGbUh2727w\ncj7LjTo6zUm4OU0W+UEl5086ZpQcxBQ/8UH3007MieY25KKcgmtzvGg+z4le\nfjWHXV82oRcnfXfbPid1o4OKtZ8A2r/x2WdgIc4tQfR13OH/qhi32E6e8/G9\ncjzI7iboDCJEkvA8yt7c0rhfoK8tYJ5hZCvvImx95mMq0auItpqNpm7/IeTS\nBo7vfQgTaC6WBKgUqMT17nnyBbhI+4Ryub/WfiiCLmod+VBK8sHYgMy6d4Sf\nT7yPX1qX+Pq0EmOHI0eocDMdrg94LrqvDhifDEEzDDERFw3Ue6Tp18viALM7\noT+mm8IED0RxcXqn5NxV/6zJKBKd6gY7Q9eP8qgXuEB1Xqs3lnvU3moLPChv\nurXw9UU+MxI7jJ6AeG7v0Z0Lm2eSWlouAIdRIhyw3eK7zh/DCijoSSviUgV6\nroh6\r\n=15cE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGw3ZSimKd4C6IsPA+BcK35QxSiuKQPxMc1NXgcTFMeOAiEA6I/pOgmkpiAhGdg3MtnlJ5rJsLLIL7lJ8mHZH+P87+4="}]},"maintainers":[{"name":"raumzeit","email":"ronny@tbi.univie.ac.at"}],"_npmUser":{"name":"raumzeit","email":"ronny@tbi.univie.ac.at"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/marchingsquares_1.3.3_1556448648785_0.3597936263449544"},"_hasShrinkwrap":false}},"readme":"![GitHub tag](https://img.shields.io/github/release/RaumZeit/MarchingSquares.js.svg)\n[![Build Status](https://img.shields.io/travis/RaumZeit/MarchingSquares.js/master.svg)](https://travis-ci.org/RaumZeit/MarchingSquares.js)\n[![npm](https://img.shields.io/npm/dw/marchingsquares.svg)](https://www.npmjs.com/package/marchingsquares)\n[![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)\n\n# MarchingSquaresJS\n\nA JavaScript implementation of the [Marching Squares](https://en.wikipedia.org/wiki/Marching_squares) algorithm\nfeaturing IsoLines and IsoBand computation.\n\nThe implementation computes *iso lines* (*iso contours*) or *iso bands* for rectangular\n2-dimensional scalar fields and returns an array of (closed) paths that enclose the respective\nthreshold(s). To speed-up computations when multiple *iso lines*/*iso bands* are required, the\nimplementation makes use of a [Quad-Tree](https://en.wikipedia.org/wiki/Quadtree) data\nstructure for fast look-ups of those cells in the scalar field that actually contribute to the\n*iso line* or *iso band*, respectively.\n\n## Table of contents\n1. [Availability](#availability)\n2. [Installation](#installation)\n3. [Usage](#usage)\n4. [API Description](#api-description)\n5. [Examples](#examples)\n6. [License](#license)\n\n----\n\n## Availability\n\nThe source code of this module is available through [github](https://github.com/RaumZeit/MarchingSquares.js).\nThis module is also available as an [npm package](https://www.npmjs.com/package/marchingsquares).\n\n----\n\n## Installation\n\nWhile this module only consists of `ECMAScript 5` language elements, it already makes use of the\n`ECMAScript 6 module` specification. To provide maximum compatibility and allow for loading with\n`node` and web browsers, the library is bundled with [rollup.js](https://rollupjs.org) and\nwrapped in a [Universal Module Definition (UMD)](https://github.com/umdjs/umd) API by default.\n\n#### Quick Start\n\n```shell\nnpm install marchingsquares\n```\n\n#### Build from Repository:\n\nTo (re-)build the distribution bundles run `rollup -c` or\n```shell\nnpm run-script build\n```\n\n#### Download Precompiled Files\n\nPre-compiled (minified) versions are available at the\n[MarchingSquares.js release page](https://github.com/RaumZeit/MarchingSquares.js/releases).\n\n----\n\n## Usage\n\nIn most cases, you may want to load the entire library to expose all implemented\nalgorithms at once. Alternatively, you may include only one of the `isoLines` or\n`isoBands` algorithms. In this case, however, you have to sacrifice the possibility\nto pass pre-processed data to effectively circumvent redundant *Quad-Tree* construction\nsince the `QuadTree` constructor will be unavailable.\n\nThe library exposes the following function attributes (see also [API description](#api-description))\n\n```javascript\nMarchingSquaresJS = {\n    isoLines : function(data, threshold, options){},\n    isoBands : function(data, lowerBound, bandwidth, options){},\n    QuadTree : function(data){}\n};\n```\n\nand can easily be integrated into your project (see below)\n\n#### Loading with Node:\n\n```javascript\nvar MarchingSquaresJS = require('./marchingsquares.js');\n```\n\n#### Loading with AMD (e.g. RequireJS)\n\nThe MarchingSquaresJS module works fine with the Asynchronous Module Definition (AMD)\nAPI. This enables easy integration with module loaders such as\n[RequireJS](https://github.com/requirejs/requirejs)\n\n```javascript\nvar MarchingSquaresJS = require('./marchingsquares-isobands.js');\n```\n\n#### Loading with Web Browser\n\nTo use the library in a web browser you simply load the library using the `<script>`\ntag to expose a global variable `MarchingSquaresJS`:\n\n\n```html\n<script src=\"marchingsquares.min.js\"></script>\n```\n\n#### Loading a Single Implementation\n\nIt is possible to require only one of the implementations, `isoLines` or `isoBands`,\nby requiring the corresponding implementation directly, e.g.:\n\n```javascript\nvar MarchingSquaresJS = require('./marchingsquares-isobands.js');\n```\n\nor \n\n```html\n<script src=\"marchingsquares-isobands.min.js\"></script>\n```\n\nThis creates the same object as before but without the `isoLines` function.\n\n----\n\n## API Description\n\n### Computing Iso Lines\n\n```javascript\nfunction isoLines(data, threshold, options)\n```\n\nCompute *iso lines* and *iso contours* for a 2-dimensional scalar field and a (list of) thresholds.\n\n| Parameter   | Description                                                                                                                                                               |\n| ----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| `data`      | 2-dimensional input data, i.e. the scalar field (must be array of arrays, or pre-processed data object obtained from `new QuadTree()`). This parameter is **mandatory**.  |\n| `threshold` | A constant numerical value (or array of numerical values) defining the curve function for the *iso line(s)*. This parameter is **mandatory**                              |\n| `options`   | An object with attributes allowing for changes in the behavior of this function (See below). This parameter is **optional**                                               |\n\n#### Returns:\n\n1. If `threshold` is a *single scalar*, an array of paths representing the *iso lines* for the given\n`threshold` and input `data`.\n2. If `threshold` is an *array of scalars*, an additional array layer wraps the individual arrays of\npaths for each threshold value.\n\nA single path is an array of coordinates where each coordinate, again, is an array with two entries\n`[ x, y ]` denoting the `x` and `y` position, respectively.\n\nNote, that the paths resemble *linear Rings* by default, i.e. they are closed and have identical first\nand last coordinates. (see the `options` parameter to change the output)\n\nFurthermore, if all values at the border of the input data are below the threshold, a rectangular frame\npath with coordinates `[ 0, 0 ], [0, rows], [cols, rows], [cols, 0]`, i.e. enclosing the entire scalar\nfield, will be added as first element of the returned array. Here, the values of `rows` and `cols` are\nthe number of rows and columns of the input data, respectively. To disable this behavior, the user may\npass the `options.noFrame=true`.\n\n### Computing Iso Bands\n\n```javascript\nfunction isoBands(data, lowerBound, bandWidth, options)\n```\n\nCompute *iso bands* for a 2-dimensional scalar field, a (list of) lowerBound(s), and a (list of) bandWidth(s).\n\n| Parameter     | Description                                                                                                                                                               |\n| ------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| `data`        | 2-dimensional input data, i.e. the scalar field (must be array of arrays, or pre-processed data object obtained from `new QuadTree()`). This parameter is **mandatory**.  |\n| `lowerBound`  | A constant numerical value (or array of numerical values) that define(s) the lower bound of the *iso band*. This parameter is **mandatory**.                              |\n| `bandWidth`   | A constant numerical value (or array of numerical values) that defines the width(s) the *iso band*, i.e. the range of values. This parameter is **mandatory**.            |\n| `options`     | An object with attributes allowing for changes in the behavior of this function (See below). This parameter is **optional**.                                              |\n\n#### Returns:\n\n1. If `lowerBound` is a *single scalar*, an array of paths representing the *iso lines* which enclose the\n*iso band* of size `bandWidth`.\n2. If `lowerBound` is an *array of scalars*, an additional array layer wraps the individual arrays of paths\nfor each `threshold`-`bandWidth` pair. Note, that if `bandWidth` is a *scalar* it will be applied to all\nentries in the `lowerBound` array.\n \nA single path is an array of coordinates where each coordinate, again, is an array with two entries `[ x, y ]`\ndenoting the `x` and `y` position, respectively.\n\nNote, that the paths resemble *linear Rings* by default, i.e. they are closed and have identical first and last\ncoordinates. (see the `options` parameter to change the output)\n\n\n### Pre-process Data\n\n```javascript\nfunction QuadTree(data)\n```\n\nPre-compute a Quad-Tree for the scalar field `data`.\n\nTo speed-up consecutive calls of the `isoLines` and `isoBands` functions using the same scalar field\nbut different `threshold` or `band` levels, users can pass *pre-processed data*. The pre-processing\nstep essentially creates a Quad-Tree data structure for the scalar field, and glues it together with\nthe scalar field. Consequently, when passing pre-processed data, the `isoLines` and`isoBands`\nfunctions do not need to create the same Quad-Tree (for the same scalar field) over and over again.\n\n| Parameter     | Description                                                               |\n| ------------- | :------------------------------------------------------------------------ |\n| `data`        | 2-dimensional input data (scalar field). This parameter is **mandatory**. |\n\n#### Returns:\n\nAn object that glues together the scalar field `data` and the corresponding pre-computed Quad-Tree.\n\n##### Note:\n\nThis is a **constructor** function! Thus, to generate an object with pre-processed data, one\nhas to create a new `QuadTree` object:\n\n```javascript\nvar prepData = new MarchingSquaresJS.QuadTree(data);\n```\n\nFurthermore, when passing pre-processed data to one of the `isoLines` or `isoBands` function, they\nwill *always* perform Quad-Tree look-ups to speed-up the computation, unless the `options.noQuadTree`\nflag is set.\n\n\n### The Options Object\n\nThe `options` object may have the following fields:\n\n| Property                  | Type        | Description                                                                                                                                                                                                                                                                                                   | Default value |\n| ------------------------- | :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------- |\n| `options.successCallback` | *function*  | A function called at the end of each *iso line* / *iso band* computation. It will be passed the `path array` and the corresponding limit(s) (`threshold` or `lowerBound, bandWidth`) as first and second (third) arguments, respectively.                                                                     | `null`        |\n| `options.verbose`         | *bool*      | Create `console.log()` info messages before each major step of the algorithm                                                                                                                                                                                                                                  | `false`       |\n| `options.polygons`        | *bool*      | If `true` the function returns a list of path coordinates for individual polygons within each grid cell, if `false` returns a list of path coordinates representing the outline of connected polygons.                                                                                                        | `false`       |\n| `options.linearRing`      | *bool*      | If `true`, the polygon paths are returned as linear rings, i.e. the first and last coordinate are identical indicating a closed path. Note, that for the `IsoLines` implementation a value of `false` reduces the output to *iso lines* that are not necessarily closed paths.                                | `true`        |\n| `options.noQuadTree`      | *bool*      | If `true`, Quad-Tree optimization is deactivated no matter what the input is. Otherwise, the implementations make use of Quad-Tree optimization if the input demands for *multiple* iso lines/bands.                                                                                                          | `false`       |\n| `options.noFrame`         | *bool*      | If `true`, the *iso line* / *iso contour* algorithm omits the enclosing rectangular outer frame when all data points along the boundary of the scalar field are below the threshold. Otherwise, if necessary, the enclosing frame will be included for each threshold level as the very first returned path.  | `false`       |\n\n### Deprecation Warnings\n\nThe `isoContour` function was renamed to `isoLines` with version `1.3.0` but still remains for backward compatibility reasons!\n\nThe `quadTree` constructor function was renamed to `QuadTree` with version `1.3.1` but remains for backward compatibility!\n\n----\n\n## Examples\n\nThe *iso band* shown below should contain all values between `lowerBound` and `upperBound`.\n \n```javascript\nvar lowerBound = 2;\nvar upperBound = 3;\nvar data = [\n    [18, 13, 10,  9, 10, 13, 18],\n    [13,  8,  5,  4,  5,  8, 13],\n    [10,  5,  2,  1,  2,  5, 10],\n    [ 9,  4,  1, 12,  1,  4,  9],\n    [10,  5,  2,  1,  2,  5, 10],\n    [13,  8,  5,  4,  5,  8, 13],\n    [18, 13, 10,  9, 10, 13, 18],\n    [18, 13, 10,  9, 10, 13, 18]\n];\n\nvar bandWidth = upperBound - lowerBound;\nvar band = MarchingSquaresJS.isoBands(data, lowerBound, bandWidth);\n```\n\nThe return value, `band`, is an array of closed polygons which includes all the points of the grid with values between the limiting *iso lines*:\n\n```text\n[Array[21], Array[5]]\n  0: Array[21]\n  1: Array[5]\n    0: Array[2]\n      0: 2.3181818181818183\n      1: 3\n      length: 2\n      __proto__: Array[0]\n    1: Array[2]\n      0: 3\n      1: 2.3181818181818183\n      length: 2\n      __proto__: Array[0]\n    2: Array[2]\n    3: Array[2]\n    4: Array[2]\n    length: 5\n    __proto__: Array[0]\n  length: 2\n  __proto__: Array[0]\n```\n\nYou can find more examples in the [example/](example/) directory.\n\n----\n\n## License\n\nMarchingSquaresJS is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nMarchingSquaresJS grants additional permissions under GNU Affero General\nPublic License version 3 section 7. See [LICENSE.md](LICENSE.md) for details.\n\n----\n\nCopyright (c) 2015-2018 Ronny Lorenz <ronny@tbi.univie.ac.at>\n","maintainers":[{"name":"raumzeit","email":"ronny@tbi.univie.ac.at"}],"time":{"modified":"2022-06-19T16:00:38.890Z","created":"2017-03-19T12:08:48.251Z","1.1.1":"2017-03-19T12:08:48.251Z","1.2.0":"2017-03-19T12:31:33.042Z","1.2.1":"2018-06-04T20:56:56.688Z","1.2.2":"2018-06-06T20:51:25.409Z","1.2.3":"2018-06-10T14:44:52.236Z","1.3.0":"2018-06-23T15:11:50.324Z","1.3.1":"2018-07-05T20:12:07.269Z","1.3.2":"2018-09-02T17:21:39.130Z","1.3.3":"2019-04-28T10:50:48.977Z"},"keywords":["marchingsquares","marching","squares","isocontour","isoband","isoline"],"repository":{"type":"git","url":"git://github.com/RaumZeit/MarchingSquares.js.git"},"author":{"name":"Ronny Lorenz","email":"ronny@tbi.univie.ac.at"},"license":"AGPL-3.0","readmeFilename":"README.md","contributors":[{"name":"Stefano Borghi"},{"name":"Peter Kerpedjiev"}],"bugs":{"url":"https://github.com/RaumZeit/MarchingSquares.js/issues"},"homepage":"https://github.com/RaumZeit/MarchingSquares.js/blob/master/README.md"}