Skip to content

Commit eea33d4

Browse files
authored
Merge pull request #489 from thewtex/cbor-file
cbor file
2 parents 9136288 + a3fbbd3 commit eea33d4

File tree

95 files changed

+1079
-2204
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

95 files changed

+1079
-2204
lines changed

.github/workflows/toolchains.yml

Lines changed: 0 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -109,51 +109,3 @@ jobs:
109109
name: docker-cache
110110
path: ./docker-cache
111111
retention-days: 7
112-
113-
build-itk-wasm-vtk-io:
114-
name: "Build itk-wasm-vtk-io"
115-
needs: build-itk-wasm
116-
runs-on: ubuntu-20.04
117-
118-
steps:
119-
- uses: actions/checkout@v2
120-
121-
- name: 'Free up disk space'
122-
run: |
123-
# Workaround for https://github.com/actions/virtual-environments/issues/709
124-
df -h
125-
sudo apt-get remove -y '^dotnet-.*'
126-
sudo apt-get remove -y '^llvm-.*'
127-
sudo apt-get remove -y 'php.*'
128-
sudo apt-get autoremove -y
129-
sudo apt-get clean
130-
sudo rm -rf "/usr/local/share/boost"
131-
sudo rm -rf /usr/share/dotnet/
132-
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
133-
df -h
134-
135-
- name: Pull latest Docker images
136-
run: |
137-
./src/docker/pull.sh
138-
139-
- uses: actions/download-artifact@v2
140-
continue-on-error: true
141-
with:
142-
name: docker-cache
143-
path: ./docker-cache
144-
145-
- name: Build itk-wasm-vtk-io
146-
run: |
147-
if [[ -e ./docker-cache/itk-wasm-emscripten-base.tar.xz ]]; then xz -d -k < ./docker-cache/itk-wasm-emscripten-base.tar.xz | docker load ; fi
148-
if [[ -e ./docker-cache/itk-wasm-emscripten.tar.xz ]]; then xz -d -k < ./docker-cache/itk-wasm-emscripten.tar.xz | docker load ; fi
149-
if [[ -e ./docker-cache/itk-wasm-emscripten-vtk-io.tar.xz ]]; then xz -d -k < ./docker-cache/itk-wasm-emscripten-vtk-io.tar.xz | docker load ; fi
150-
./src/docker/itk-wasm-vtk-io/build.sh
151-
mkdir -p ./docker-cache
152-
docker save insighttoolkit/itk-wasm-emscripten-vtk-io:latest | xz -e9 -T0 > ./docker-cache/itk-wasm-emscripten-vtk-io.tar.xz
153-
154-
- name: Cache docker results
155-
uses: actions/upload-artifact@v2
156-
with:
157-
name: docker-cache
158-
path: ./docker-cache
159-
retention-days: 7

.npmignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,3 @@ test
88
build.js
99
dist/image-io/
1010
dist/mesh-io/
11-
dist/polydata-io/

CMakeLists.txt

Lines changed: 24 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,11 @@ if(BUILD_ITK_WASM_IO_MODULES)
2222
set(meshios_ITKIOMeshOBJ itkOBJMeshIO)
2323
set(meshios_ITKIOMeshOFF itkOFFMeshIO)
2424
set(meshios_IOMeshSTL itkSTLMeshIO)
25-
26-
set(PolyDataIOPipelines
27-
"VTKLegacyFileReader"
28-
"VTKXMLFileReader"
29-
"VTKExodusFileReader"
30-
"VTKPLYFileReader"
31-
CACHE STRING
32-
"String delimited list of VTK PolyData IO pipelines to support.")
33-
set(polydataios_VTKExodusFileReader VTK::IOExodus VTK::CommonDataModel
34-
VTK::FiltersCore VTK::FiltersGeometry)
35-
set(polydataios_VTKLegacyFileReader VTK::IOLegacy VTK::FiltersGeometry)
36-
set(polydataios_VTKXMLFileReader VTK::IOXML VTK::FiltersGeometry VTK::IOLegacy)
37-
set(polydataios_VTKPLYFileReader VTK::IOPLY)
3825
endif()
3926

4027
include(FetchContent)
4128
set(_itk_build_testing ${BUILD_TESTING})
29+
set(BUILD_TESTING OFF)
4230
set(_itk_build_shared ${BUILD_SHARED_LIBS})
4331

4432
# Uses newer CMake
@@ -55,27 +43,6 @@ FetchContent_Declare(
5543
GIT_TAG ${RapidJSON_GIT_TAG}
5644
)
5745

58-
set(minizip-ng_GIT_REPOSITORY https://github.com/zlib-ng/minizip-ng.git)
59-
# 3.0.3
60-
set(minizip-ng_GIT_TAG 0930f1aebebb3554570a94357464f0a67b387c6d)
61-
option(MZ_COMPAT OFF "Enables compatibility layer")
62-
option(MZ_ZLIB OFF "Enables ZLIB compression")
63-
option(MZ_BZIP2 OFF "Enables BZIP2 compression")
64-
option(MZ_LZMA OFF "Enables LZMA & XZ compression")
65-
option(MZ_ZSTD OFF "Enables ZSTD compression")
66-
option(MZ_PKCRYPT OFF "Enables PKWARE traditional encryption")
67-
option(MZ_WZAES OFF "Enables WinZIP AES encryption")
68-
option(MZ_OPENSSL OFF "Enables OpenSSL encryption")
69-
option(MZ_LIBBSD OFF "Build with libbsd for crypto random")
70-
option(MZ_SIGNING OFF "Enables zip signing support")
71-
option(MZ_ICONV OFF "Enables iconv string encoding conversion library")
72-
set(MZ_PROJECT_SUFFIX "-itk" CACHE STRING "Minizip name suffix")
73-
FetchContent_Declare(
74-
minizip-ng
75-
GIT_REPOSITORY ${minizip-ng_GIT_REPOSITORY}
76-
GIT_TAG ${minizip-ng_GIT_TAG}
77-
)
78-
7946
set(CLI11_GIT_REPOSITORY "https://github.com/CLIUtils/CLI11")
8047
set(CLI11_GIT_REPOSITORY "https://github.com/thewtex/CLI11")
8148
# v2.1.2 + WASI
@@ -96,12 +63,26 @@ FetchContent_Declare(
9663
GIT_TAG ${rang_GIT_TAG}
9764
)
9865

66+
set(libcbor_GIT_REPOSITORY "https://github.com/PJK/libcbor")
67+
set(libcbor_GIT_REPOSITORY "https://github.com/thewtex/libcbor")
68+
set(libcbor_GIT_TAG "de9762657d99ccb4d72c78e49819ea5d2a7a413d")
69+
FetchContent_Declare(
70+
libcbor
71+
GIT_REPOSITORY ${libcbor_GIT_REPOSITORY}
72+
GIT_TAG ${libcbor_GIT_TAG}
73+
)
74+
set(WITH_TESTS OFF CACHE BOOL "Build libcbor tests")
75+
set(WITH_EXAMPLES OFF CACHE BOOL "Build libcbor examples")
76+
9977

100-
FetchContent_MakeAvailable(rapidjson_lib minizip-ng cli11 rang)
78+
list(APPEND CMAKE_MODULE_PATH ${libcbor_SOURCE_DIR}/CMakeModules)
79+
FetchContent_MakeAvailable(rapidjson_lib cli11 rang libcbor)
10180
set(RapidJSON_INCLUDE_DIR "${rapidjson_lib_SOURCE_DIR}/include")
102-
set(minizip-ng_INCLUDE_DIR "${minizip-ng_SOURCE_DIR}")
10381
set(cli11_INCLUDE_DIR "${cli11_SOURCE_DIR}/include")
10482
set(rang_INCLUDE_DIR "${rang_SOURCE_DIR}/include")
83+
set(libcbor_INCLUDE_DIR "${libcbor_SOURCE_DIR}/src")
84+
set(libcbor_EXPORT_DIR "${libcbor_BINARY_DIR}/src")
85+
set(libcbor_CONFIGURATION_DIR "${libcbor_BINARY_DIR}/")
10586

10687
set(BUILD_TESTING ${_itk_build_testing})
10788
set(BUILD_SHARED_LIBS ${_itk_build_shared})
@@ -111,11 +92,13 @@ find_path(RapidJSON_INCLUDE_DIR
11192
)
11293
set(WebAssemblyInterface_INCLUDE_DIRS
11394
${RapidJSON_INCLUDE_DIR}
114-
${minizip-ng_INCLUDE_DIR}
11595
${cli11_INCLUDE_DIR}
11696
${rang_INCLUDE_DIR}
97+
${libcbor_INCLUDE_DIR}
98+
${libcbor_EXPORT_DIR}
99+
${libcbor_CONFIGURATION_DIR}
117100
)
118-
list(APPEND WebAssemblyInterface_LIBRARIES minizip-itk)
101+
list(APPEND WebAssemblyInterface_LIBRARIES cbor)
119102

120103
get_filename_component(_module_dir "${CMAKE_CURRENT_LIST_FILE}" PATH)
121104
set(CMAKE_MODULE_PATH "${_module_dir}/CMake/" ${CMAKE_MODULE_PATH})
@@ -128,6 +111,6 @@ if(NOT ITK_SOURCE_DIR)
128111
else()
129112
itk_module_impl()
130113
endif()
131-
itk_module_target_label(minizip-itk)
132-
itk_module_target_export(minizip-itk)
133-
itk_module_target_install(minizip-itk)
114+
itk_module_target_label(cbor)
115+
itk_module_target_export(cbor)
116+
itk_module_target_install(cbor)

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ The project provides tools to a) build C/C++ code to
1616
JavaScript/Typescript data structures, and traditional file formats, c)
1717
transfer data efficiently in and out of the WebAssembly runtime, and d)
1818
asynchronous, parallel execution of processing pipelines in a worker pool.
19-
*itk-wasm* can be used to execute [ITK](https://www.itk.org/),
20-
[VTK](https://www.vtk.org/) or arbitrary C++ codes in the browser, on a
19+
*itk-wasm* can be used to execute [ITK](https://www.itk.org/)
20+
or arbitrary C++ codes in the browser, on a
2121
workstation / server with [Node.js](https://nodejs.org/), or standalone
2222
execution and wrapped in [WASI](https://wasi.dev/) runtimes.
2323

build.js

Lines changed: 1 addition & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ program
2222
.option('-s, --no-copy-build-artifacts', 'Do not copy build artifacts')
2323
.option('-e, --no-build-emscripten-pipelines', 'Do not build the emscripten test pipelines')
2424
.option('-w, --no-build-wasi-pipelines', 'Do not build the wasi test pipelines')
25-
.option('-v, --no-build-vtk', 'Do not build the VTK-dependent io')
2625
.option('-d, --debug', 'Create a debug build of the Emscripten modules')
2726
.parse(process.argv)
2827

@@ -56,23 +55,14 @@ if (options.buildIo) {
5655
if (options.debug) {
5756
dockcross = 'build/dockcross-debug'
5857
}
59-
if (options.buildVtk) {
60-
dockcross = `${dockcross}-with-vtk`
61-
}
6258
try {
6359
fs.statSync(dockcross)
6460
} catch (err) {
6561
if (err.code === 'ENOENT') {
6662
const output = fs.openSync(dockcross, 'w')
6763
let buildImage = 'itkwasm/emscripten:latest'
68-
if (options.buildVtk) {
69-
buildImage = 'itkwasm/emscripten-vtk-io:latest'
70-
}
7164
if (options.debug) {
7265
buildImage = 'itkwasm/emscripten:latest-debug'
73-
if (options.buildVtk) {
74-
buildImage = 'itkwasm/emscripten-vtk-io:latest-debug'
75-
}
7666
}
7767
const dockerCall = spawnSync('docker', ['run', '--rm', buildImage], {
7868
env: process.env,
@@ -97,7 +87,7 @@ if (options.buildIo) {
9787
if (options.debug) {
9888
buildType = '-DCMAKE_BUILD_TYPE:STRING=Debug'
9989
}
100-
const cmakeCall = spawnSync('bash', [dockcross, 'bash', '-c', `cmake ${buildType} -Bbuild -H. -GNinja -DITK_DIR=/ITK-build -DVTK_DIR=/VTK-build -DITK_WASM_NO_INTERFACE_LINK=1 -DBUILD_ITK_WASM_IO_MODULES=ON`], {
90+
const cmakeCall = spawnSync('bash', [dockcross, 'bash', '-c', `cmake ${buildType} -Bbuild -H. -GNinja -DITK_DIR=/ITK-build -DITK_WASM_NO_INTERFACE_LINK=1 -DBUILD_ITK_WASM_IO_MODULES=ON`], {
10191
env: process.env,
10292
stdio: 'inherit'
10393
})
@@ -137,11 +127,6 @@ if (options.copyBuildArtifacts) {
137127
} catch (err) {
138128
if (err.code !== 'EEXIST') throw err
139129
}
140-
try {
141-
fs.mkdirSync(path.join('dist', 'polydata-io'))
142-
} catch (err) {
143-
if (err.code !== 'EEXIST') throw err
144-
}
145130
try {
146131
fs.mkdirSync(path.join('dist', 'web-workers'))
147132
} catch (err) {
@@ -174,24 +159,9 @@ if (options.copyBuildArtifacts) {
174159
callback(null, result)
175160
}
176161

177-
let polyDataIOFiles = glob.sync(path.join('build', 'polydata-io', '*.js'))
178-
polyDataIOFiles = polyDataIOFiles.concat(glob.sync(path.join('build', 'polydata-io', '*.wasm')))
179-
const copyPolyDataIOModules = function (polyDataIOFile, callback) {
180-
const io = path.basename(polyDataIOFile)
181-
const output = path.join('dist', 'polydata-io', io)
182-
fs.copySync(polyDataIOFile, output)
183-
callback(null, io)
184-
}
185-
const buildPolyDataIOsParallel = function (callback) {
186-
console.log('Copying polydata-io modules...')
187-
const result = asyncMod.map(polyDataIOFiles, copyPolyDataIOModules)
188-
callback(null, result)
189-
}
190-
191162
asyncMod.parallel([
192163
buildImageIOsParallel,
193164
buildMeshIOsParallel,
194-
buildPolyDataIOsParallel,
195165
])
196166
} // options.copySources
197167

@@ -207,14 +177,8 @@ if (options.buildEmscriptenPipelines) {
207177
console.log('Building ' + pipelinePath + ' with Emscripten...')
208178
let debugFlags = []
209179
let buildImage = 'itkwasm/emscripten:latest'
210-
if (options.buildVtk) {
211-
buildImage = 'itkwasm/emscripten-vtk-io:latest'
212-
}
213180
if (options.debug) {
214181
buildImage = 'itkwasm/emscripten:latest-debug'
215-
if (options.buildVtk) {
216-
buildImage = 'itkwasm/emscripten-vtk-io:latest-debug'
217-
}
218182
}
219183
if (options.debug) {
220184
debugFlags = ['-DCMAKE_BUILD_TYPE:STRING=Debug', "-DCMAKE_EXE_LINKER_FLAGS_DEBUG='-s DISABLE_EXCEPTION_CATCHING=0'"]

doc/RELEASE.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,6 @@ cd -
3535
cd dist/mesh-io
3636
npm publish
3737
cd -
38-
cd dist/polydata-io
39-
npm publish
40-
cd -
4138
git tag -m "itk-wasm ${version}" -s itk-wasm-v$version HEAD
4239
git checkout release
4340
git merge master

doc/content/api/browser_io.md

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ These functions return the [WebWorker](https://developer.mozilla.org/en-US/docs/
1111

1212
---
1313

14-
## readFile(webWorker: Worker | null, file: File): Promise<{ webWorker, [image](./Image.html), [mesh](./Mesh.html), [polyData](https://insightsoftwareconsortium.github.io/itk-wasm/docs/polydata_formats.html) }>
14+
## readFile(webWorker: Worker | null, file: File): Promise<{ webWorker, [image](./Image.html), [mesh](./Mesh.html) }>
1515

1616
Read an image or mesh or poly data from a [File](https://developer.mozilla.org/en-US/docs/Web/API/File).
1717

1818

19-
## readBlob(webWorker: Worker | null, blob: Blob, fileName: string, mimeType: string): Promise<{ webWorker, [image](./Image.html), [mesh](./Mesh.html), [polyData](https://insightsoftwareconsortium.github.io/itk-wasm/docs/polydata_formats.html) }>
19+
## readBlob(webWorker: Worker | null, blob: Blob, fileName: string, mimeType: string): Promise<{ webWorker, [image](./Image.html), [mesh](./Mesh.html), }>
2020

2121
Read an image or mesh or poly data from a [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob). `fileName` is a string with the file name. `mimeType` is an optional mime-type string.
2222

@@ -121,17 +121,3 @@ Write an mesh to a an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web
121121
*mesh*: [Mesh](./Mesh.html) instance to write
122122
*fileName*: name that would be used for the resulting file
123123
*mimeType*: optional mime-type for the resulting file
124-
125-
---
126-
127-
## readPolyDataFile(webWorker: Worker | null, file: File): Promise<{ webWorker, [polyData](https://kitware.github.io/vtk-js/docs/structures_PolyData.html) }>
128-
129-
Read a vtk.js PolyData from a [File](https://developer.mozilla.org/en-US/docs/Web/API/File).
130-
131-
## readPolyDataBlob(webWorker: Worker | null, blob: Blob, fileName: string, mimeType: string): Promise< { webWorker: Worker, [polyData](https://kitware.github.io/vtk-js/docs/structures_PolyData.html) }>
132-
133-
Read a vtk.js PolyData from a [Blob](https://developer.mozilla.org/en-US/docs/Web/API/Blob). `fileName` is a string with the file name. `mimeType` is an optional mime-type string.
134-
135-
## readPolyDataArrayBuffer(webWorker: Worker | null, arrayBuffer: ArrayBuffer, fileName: string, mimeType: string): Promise<{ webWorker: Worker, [polyData](https://kitware.github.io/vtk-js/docs/structures_PolyData.html) }>
136-
137-
Read a vtk.js PolyData from an [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer). `fileName` is a string with the file name. `mimeType` is an optional mime-type string.

doc/content/api/browser_pipelines.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ Run an itk-wasm Emscripten module with Node.js.
3030
<dt>`IOTypes.Binary`</dt><dd>A binary [Uint8Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array). To write this data type in C++, read the binary file with, e.g. [std::ofstream](http://www.cplusplus.com/reference/fstream/ofstream/) with the `std::ofstream::binary` flag to [std::ofstream::open](http://www.cplusplus.com/reference/fstream/ofstream/open/).</dd>
3131
<dt>`IOTypes.Image`</dt><dd>An [itk/Image](./Image.html). To write this data type in C++, use the [itk::ImageFileWriter](https://itk.org/Doxygen/html/classitk_1_1ImageFileWriter.html), add `WebAssemblyInterface` module to the ITK `find_package` `COMPONENTS` in your *CMakeLists.txt*, and use `.json` for the image file name extension.</dd>
3232
<dt>`IOTypes.Mesh`</dt><dd>An [itk/Mesh](./Mesh.html). To write this data type in C++, use the [itk::MeshFileWriter](https://itk.org/Doxygen/html/classitk_1_1MeshFileWriter.html), add `WebAssemblyInterface` module to the ITK `find_package` `COMPONENTS` in your *CMakeLists.txt*, and use `.json` for the image file name extension.</dd>
33-
<dt>`IOTypes.vtkPolyData`</dt><dd>A vtk.js [PolyData](https://kitware.github.io/vtk-js/docs/structures_PolyData.html). To write this data type in C++, use the [vtkJSONDataSetWriter](https://vtk.org/doc/nightly/html/classvtkJSONDataSetWriter.html), and add `vtkIOExport` module to the VTK `find_package` `COMPONENTS` in your *CMakeLists.txt*</dd>
3433
</dl>
3534

3635
*inputs*: A JavaScript Array containing JavaScript objects with three properties: `path`, `type`, and `data`.

doc/content/api/node_io.md

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ Similar to the [web browser API](./browser_io.html), most of these functions ret
77

88
---
99

10-
## readLocalFile(filePath: string): Promise<[Image](./Image.html) | [Mesh](./Mesh.html) | [PolyData](https://insightsoftwareconsortium.github.io/itk-wasm/docs/polydata_formats.html)>
10+
## readLocalFile(filePath: string): Promise<[Image](./Image.html) | [Mesh](./Mesh.html) >
1111

12-
Read an image or mesh or polyData from a file on the local filesystem.
12+
Read an image or mesh from a file on the local filesystem.
1313

1414
## writeLocalFile(useCompression: boolean, imageOrMesh: [Image](./Image.html) | [Mesh](./Mesh.html), filePath: string): Promise<null>
1515

@@ -62,9 +62,3 @@ Write a mesh to a file on the local filesystem with Node.js.
6262
*binaryFileType*: write in an binary as opposed to a ascii format, if possible
6363
*mesh*: [Mesh](./Mesh.html) instance to write
6464
*filePath*: path to the file on the local filesystem
65-
66-
---
67-
68-
## readPolyDataLocalFile(filePath: string): [vtk.js PolyData](https://kitware.github.io/vtk-js/docs/structures_PolyData.html)
69-
70-
Read a vtk.js PolyData from a file on the local filesystem.

doc/content/api/node_pipelines.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ Run an itk-wasm Emscripten module with Node.js.
2525
<dt><b>IOTypes.Binary</b><dt><dd>A binary <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array">Uint8Array</a>. To write this data type in C++, read the binary file with, e.g. <a href="http://www.cplusplus.com/reference/fstream/ofstream/">std::ofstream</a> with the `std::ofstream::binary` flag to <a href="http://www.cplusplus.com/reference/fstream/ofstream/open/">std::ofstream::open</a>.</dd>
2626
<dt><b>IOTypes.Image</b></dt><dd>An <a href="./Image.html">Image</a>. To write this data type in C++, use the <href a="https://itk.org/Doxygen/html/classitk_1_1ImageFileWriter.html">itk::ImageFileWriter</a>, add `WebAssemblyInterface` module to the ITK `find_package` `COMPONENTS` in your *CMakeLists.txt*, and use `.iwi` for the image file name extension.</dd>
2727
<dt><b>IOTypes.Mesh</b></dt><dd>An <a href="Mesh.html">Mesh</a>. To write this data type in C++, use the <a href="https://itk.org/Doxygen/html/classitk_1_1MeshFileWriter.html">itk::MeshFileWriter</a>, add `WebAssemblyInterface` module to the ITK `find_package` `COMPONENTS` in your *CMakeLists.txt*, and use `.json` for the image file name extension.</dd>
28-
<dt><b>IOTypes.vtkPolyData</b><dt><dd>A vtk.js <a href="https://kitware.github.io/vtk-js/docs/structures_PolyData.html">PolyData</a> To write this data type in C++, use the <a href="https://vtk.org/doc/nightly/html/classvtkJSONDataSetWriter.html">vtkJSONDataSetWriter</a>, and add `vtkIOExport` module to the VTK `find_package` `COMPONENTS` in your *CMakeLists.txt*</dd>
2928
</dl>
3029

3130
*inputs*: A JavaScript Array containing JavaScript objects with three properties: `path`, `type`, and `data`.

doc/content/docs/file_formats.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
title: ITK WASM File Formats
22
---
33

4-
While IO modules are available to work with a number of [scientific image](./image_formats.html), [mesh](./mesh_formats.html), and [polydata](./polydata_formats.html), itk-wasm execution pipeline WebAssembly modules only support the ITK WASM File Formats by default. This ensures that size of the WebAssembly pipeline binary is minimal.
4+
While IO modules are available to work with a number of [scientific image](./image_formats.html) and [mesh](./mesh_formats.html) file formats, itk-wasm execution pipeline WebAssembly modules only support the ITK WASM File Formats by default. This ensures that size of the WebAssembly pipeline binary is minimal.
55

6-
The itk-wasm file formats provide performant mapping to the [interface types](./interface_types.html) in a simple JSON + binary array buffer format. The formats can be output in a directory or bundled in a single `.zip` file.
6+
The itk-wasm file formats provide performant mapping to the [interface types](./interface_types.html) in a simple JSON + binary array buffer format. The formats can be output in a directory or bundled in a single `.cbor` file.
77

88
<dl>
9-
<dt><b>ITK WASM Image (.iwi,.iwi.zip)</b><dt><dd>Serialization of an [Image](../Image.html).</dd>
10-
<dt><b>ITK WASM Mesh (.iwm,.iwm.zip)</b><dt><dd>Serialization of a [Mesh](../Mesh.html), or [PolyData](../PolyData.html).</dd>
11-
</dl>
9+
<dt><b>ITK WASM Image (.iwi,.iwi.cbor)</b><dt><dd>Serialization of an [Image](../Image.html).</dd>
10+
<dt><b>ITK WASM Mesh (.iwm,.iwm.cbor)</b><dt><dd>Serialization of a [Mesh](../Mesh.html), or [PolyData](../PolyData.html).</dd>
11+
</dl>

0 commit comments

Comments
 (0)