itk-wasm in a Node.js application¶
An itk-convert
command line interface (CLI) example demonstrates how to use itk-wasm in a Node.js application. Find the full example in the itk-wasm/examples/node-js
directory of the GitHub repository.
This example assumes you are creating a Node.js package. If you do not already have a package.json
file, create one, first.
Add itk-wasm
to your project’s dependencies:
npm install --save itk-wasm @itk-wasm/image-io @itk-wasm/mesh-io
This adds itk-wasm
and itk-wasm
IO packages to the dependencies
section of your package.json file:
{
"name": "itk-convert",
"version": "3.0.0",
"description": "Convert image or mesh files from one format to another.",
"type": "module",
[...]
"dependencies": {
"@itk-wasm/image-io": "^1.1.0",
"@itk-wasm/mesh-io": "^1.1.0",
"commander": "^11.1.0",
"itk-wasm": "^1.0.0-b.162"
}
}
Next, call functions like readImageNode
or writeImageNode
.
For example,
import { readImageNode, writeImageNode } from '@itk-wasm/image-io'
import { readMeshNode, writeMeshNode, extensionToMeshIo } from '@itk-wasm/mesh-io'
import { getFileExtension } from 'itk-wasm'
const extension = getFileExtension(inputFile).toLowerCase()
const isMesh = extensionToMeshIo.has(extension)
try {
if (isMesh) {
const mesh = await readMeshNode(inputFile)
await writeMeshNode(mesh, outputFile)
} else {
const image = await readImageNode(inputFile)
await writeImageNode(image, outputFile)
}
} catch (error) {
console.error('Error during conversion:\n')
console.error(error)
}