diff --git a/package-lock.json b/package-lock.json index a1bec51c7..c831283d3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "itk-wasm", - "version": "1.0.0-b.14", + "version": "1.0.0-b.15", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "itk-wasm", - "version": "1.0.0-b.14", + "version": "1.0.0-b.15", "license": "Apache-2.0", "dependencies": { "@babel/runtime": "^7.15.4", @@ -7200,9 +7200,9 @@ } }, "node_modules/gh-pages/node_modules/async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dev": true, "dependencies": { "lodash": "^4.17.14" @@ -7959,9 +7959,9 @@ } }, "node_modules/inquirer/node_modules/ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true, "engines": { "node": ">=4" @@ -8072,9 +8072,9 @@ } }, "node_modules/inquirer/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true, "engines": { "node": ">=6" @@ -12925,7 +12925,7 @@ "node_modules/parallel-webpack/node_modules/ajv": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==", "dev": true, "dependencies": { "co": "^4.6.0", @@ -16025,7 +16025,7 @@ "node_modules/trim": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=", + "integrity": "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==", "dev": true }, "node_modules/trim-newlines": { @@ -22695,9 +22695,9 @@ } }, "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dev": true, "requires": { "lodash": "^4.17.14" @@ -23266,9 +23266,9 @@ }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", "dev": true }, "cli-cursor": { @@ -23351,9 +23351,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true } } @@ -26851,7 +26851,7 @@ "ajv": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "integrity": "sha512-I/bSHSNEcFFqXLf91nchoNB9D1Kie3QKcWdchYUaoIg1+1bdWDkdfdlvdIOJbi9U8xR0y+MWc5D+won9v95WlQ==", "dev": true, "requires": { "co": "^4.6.0", @@ -29216,7 +29216,7 @@ "trim": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=", + "integrity": "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==", "dev": true }, "trim-newlines": { diff --git a/package.json b/package.json index 48cd33b42..4753ed28f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "itk-wasm", - "version": "1.0.0-b.14", + "version": "1.0.0-b.15", "description": "High-performance spatial analysis in a web browser, Node.js, and reproducible execution across programming languages and hardware architectures.", "main": "./dist/index.js", "browser": { diff --git a/src/docker/itk-wasm-base/Dockerfile b/src/docker/itk-wasm-base/Dockerfile index 0cb482498..4ad097646 100644 --- a/src/docker/itk-wasm-base/Dockerfile +++ b/src/docker/itk-wasm-base/Dockerfile @@ -1,5 +1,5 @@ ARG BASE_IMAGE=dockcross/web-wasm -FROM $BASE_IMAGE:20220308-9764a2e +FROM $BASE_IMAGE:20220612-21326cc ARG BASE_IMAGE LABEL maintainer="Matt McCormick " diff --git a/src/itk-wasm-cli.js b/src/itk-wasm-cli.js index 86a1e5a5e..82096693d 100755 --- a/src/itk-wasm-cli.js +++ b/src/itk-wasm-cli.js @@ -8,7 +8,7 @@ import { Command, Option } from 'commander/esm.mjs' const program = new Command() -const defaultImageTag = '20220523-82587720' +const defaultImageTag = '20220619-bedc594a' function processCommonOptions() { const options = program.opts() diff --git a/src/itkConfig.ts b/src/itkConfig.ts index 5c7ce0b4e..327528065 100644 --- a/src/itkConfig.ts +++ b/src/itkConfig.ts @@ -1,4 +1,4 @@ -const version = '1.0.0-b.14' +const version = '1.0.0-b.15' const itkConfig = { webWorkersUrl: undefined, diff --git a/src/web-workers/loadImageIOPipelineModule.ts b/src/web-workers/loadImageIOPipelineModule.ts index 9968a77df..6ac0bb270 100644 --- a/src/web-workers/loadImageIOPipelineModule.ts +++ b/src/web-workers/loadImageIOPipelineModule.ts @@ -21,7 +21,7 @@ async function loadImageIOPipelineModule(input: IOInput, postfix: string): Promi const ioModule = await loadPipelineModule(io, input.config.imageIOUrl) return ioModule } - + const extension = getFileExtension(input.fileName) if (extensionToIO.has(extension)) { const io = extensionToIO.get(extension) + postfix @@ -32,9 +32,13 @@ async function loadImageIOPipelineModule(input: IOInput, postfix: string): Promi for (let idx = 0; idx < ImageIOIndex.length; ++idx) { let idx = 0 for await (const pipelineModule of availableIOModules(input)) { - const { returnValue, outputs } = await runPipelineEmscripten(pipelineModule, input.args, input.outputs, input.inputs) - if (returnValue === 0) { - return pipelineModule + try { + const { returnValue, outputs } = await runPipelineEmscripten(pipelineModule, input.args, input.outputs, input.inputs) + if (returnValue === 0) { + return pipelineModule + } + } catch (error) { + // continue } idx++ } diff --git a/src/web-workers/loadMeshIOPipelineModule.ts b/src/web-workers/loadMeshIOPipelineModule.ts index a16c67f53..7d4486437 100644 --- a/src/web-workers/loadMeshIOPipelineModule.ts +++ b/src/web-workers/loadMeshIOPipelineModule.ts @@ -21,7 +21,7 @@ async function loadMeshIOPipelineModule(input: IOInput, postfix: string): Promis const ioModule = await loadPipelineModule(io, input.config.meshIOUrl) return ioModule } - + const extension = getFileExtension(input.fileName) if (extensionToIO.has(extension)) { const io = extensionToIO.get(extension) + postfix @@ -32,9 +32,13 @@ async function loadMeshIOPipelineModule(input: IOInput, postfix: string): Promis for (let idx = 0; idx < MeshIOIndex.length; ++idx) { let idx = 0 for await (const pipelineModule of availableIOModules(input)) { - const { returnValue, outputs } = await runPipelineEmscripten(pipelineModule, input.args, input.outputs, input.inputs) - if (returnValue === 0) { - return pipelineModule + try { + const { returnValue, outputs } = await runPipelineEmscripten(pipelineModule, input.args, input.outputs, input.inputs) + if (returnValue === 0) { + return pipelineModule + } + } catch (error) { + // continue } idx++ } diff --git a/test/browser/io/readImageTest.js b/test/browser/io/readImageTest.js index 719980f77..d4152483f 100644 --- a/test/browser/io/readImageTest.js +++ b/test/browser/io/readImageTest.js @@ -11,7 +11,6 @@ for (let ii = 0; ii < byteString.length; ++ii) { intArray[ii] = byteString.charCodeAt(ii) } const cthead1SmallBlob = new window.Blob([intArray], { type: mimeString }) -const cthead1SmallBlob1 = new window.Blob([intArray], { type: mimeString }) const cthead1SmallFile = new window.File([cthead1SmallBlob], 'cthead1Small.png') const verifyImage = (t, image) => { @@ -54,14 +53,6 @@ export default function () { }) }) - test('readImageBlob reads a Blob without a file extension', (t) => { - return readImageBlob(null, cthead1SmallBlob1, 'cthead1Small') - .then(function ({ image, webWorker }) { - webWorker.terminate() - verifyImage(t, image) - }) - }) - test('readImageFile reads a File', (t) => { return readImageFile(null, cthead1SmallFile) .then(function ({ image, webWorker }) {