Skip to content

Commit

Permalink
matt_mccormick
Browse files Browse the repository at this point in the history
  • Loading branch information
rowanc1 committed Oct 17, 2024
1 parent e33cd36 commit bc750c4
Show file tree
Hide file tree
Showing 7 changed files with 15 additions and 41 deletions.
Binary file modified papers/matt_mccormick/banner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
26 changes: 13 additions & 13 deletions papers/matt_mccormick/main.md
Original file line number Diff line number Diff line change
Expand Up @@ -342,9 +342,9 @@ This model, combined with ITK-Wasm’s architecture, can perform analysis and vi

::::{figure}
:label: fig:vm-head-frozenct-ome-zarr
% :placeholder: figures/vm-head-frozenct-ome-zarr-snapshot.png

:::{iframe} https://scipy-2024-itk-wasm-vm-head-frozenct-ome-zarr.netlify.app/
:placeholder: figures/vm-head-frozenct-ome-zarr-snapshot.*
:width: 100%
:::

Expand All @@ -367,9 +367,9 @@ As detailed by the [Nyquist-Shannon Sampling Theorem](https://en.wikipedia.org/w

::::{figure}
:label: fig:aliasing-artifacts
% :placeholder: figures/artifacts-snapshot.png

:::{iframe} https://scipy-2024-itk-wasm-aliasing-artifacts.netlify.app/
:placeholder: figures/artifacts-snapshot.*
:width: 100%
:::

Expand Down Expand Up @@ -462,7 +462,7 @@ The types used are integers, floating point numbers, `std` containers of the sam

The pipeline interface syntax can be generated from a set of interactive prompts provided by the `create-itk-wasm` CLI tool.

Once `ITK_WASM_PARSE(pipeline)` is called, input argument parsing and error handling is performed and the input pipeline options are populated with their values. During CLI execution, this means reading input files. When used with language bindings, files are not used and inputs are populated with in-memory content that was *lowered* into the wasm module with internal `itk_wasm*` functions.
Once `ITK_WASM_PARSE(pipeline)` is called, input argument parsing and error handling is performed and the input pipeline options are populated with their values. During CLI execution, this means reading input files. When used with language bindings, files are not used and inputs are populated with in-memory content that was _lowered_ into the wasm module with internal `itk_wasm*` functions.

Next comes the computational logic of the pipeline:

Expand All @@ -482,7 +482,7 @@ Next comes the computational logic of the pipeline:
In this example, we are using ITK library C++ functionality, but this can be arbitrary C++ code.
The `.Get()` and `.Set()` methods on the interface types supply the C++ interface to the input values for computation and outputs. When the output interface type's destructors are called, they are written to files on disk in a CLI context or prepared for wasm module *lifting* in an embedded language context.
The `.Get()` and `.Set()` methods on the interface types supply the C++ interface to the input values for computation and outputs. When the output interface type's destructors are called, they are written to files on disk in a CLI context or prepared for wasm module _lifting_ in an embedded language context.
The build is configured with simple, standard CMake:
Expand Down Expand Up @@ -617,7 +617,7 @@ In the browser, our bindings support pipelines that operate on files using the `
:::{figure} ./figures/downsample-npm.png
:label: fig:downsample-npm

JavaScript and TypeScript [package *README* rendered](https://www.npmjs.com/package/@itk-wasm/downsample) on *npmjs.com*.
JavaScript and TypeScript [package _README_ rendered](https://www.npmjs.com/package/@itk-wasm/downsample) on _npmjs.com_.
:::

#### TypeScript Interface Types
Expand All @@ -636,28 +636,28 @@ For tasks that require parallel processing, a compatible `WebWorkerPool` is avai

From an ITK-Wasm project, we generate a complete TypeScript/JavaScript package configuration. This includes:

- *TypeScript Bindings*: Generated for both Node.js and browser environments.
- *TypeScript Compilation Configuration*: Pre-configured for optimal performance and compatibility.
- *NPM Package Configuration*: Ready for [publication on the npm registry](#fig:downsample-npm).
- _TypeScript Bindings_: Generated for both Node.js and browser environments.
- _TypeScript Compilation Configuration_: Pre-configured for optimal performance and compatibility.
- _NPM Package Configuration_: Ready for [publication on the npm registry](#fig:downsample-npm).

::::{figure}
:label: fig:demo-app
% :placeholder: figures/downsample-demo.png

:::{iframe} https://scipy-2024-itk-wasm-downsample-demo.netlify.app/?functionName=downsample
:placeholder: figures/downsample-demo.png
:width: 100%
:::

Interactive live API demo application.
:::
::::

#### Documentation and demo app

To facilitate adoption and ease of use, we generate:

- *README*: A concise introduction to the project and its capabilities.
- *Docsify Documentation*: Detailed API documentation for the pipeline APIs.
- *Demo App*: An [interactive testing environment](#fig:demo-app) for sample data or user-provided data, allowing developers to experiment with API parameters and visualize results.
- _README_: A concise introduction to the project and its capabilities.
- _Docsify Documentation_: Detailed API documentation for the pipeline APIs.
- _Demo App_: An [interactive testing environment](#fig:demo-app) for sample data or user-provided data, allowing developers to experiment with API parameters and visualize results.

By providing a comprehensive set of tools and configurations, we empower developers to harness the full potential of ITK-Wasm in modern web applications, streamlining the development of scientific imaging and analysis tools.

Expand Down
6 changes: 2 additions & 4 deletions papers/matt_mccormick/myst.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ project:
# Ensure your title is the same as in your `main.md`
title: ITK-Wasm
subtitle: Universal spatial analysis and visualization
description: In recent years, WebAssembly has emerged as a widely-supported technology that offers high performance, compact binary size, support for multiple languages, hardware independence, security, and universal platform support. ITK-Wasm brings WebAssembly’s capabilities to scientific computing by combining the Insight Toolkit (ITK) and WebAssembly to enable high-performance spatial analysis across programming languages and hardware architectures.
# Authors should have affiliations, emails and ORCIDs if available
authors:
- name: Matthew McCormick
Expand Down Expand Up @@ -50,6 +51,7 @@ project:
abbreviations:
ITK: Insight Toolkit
wasm: WebAssembly
Wasm: WebAssembly
WASI: WebAssembly System Interface
GPU: Graphics Processing Unit
CPU: Central Processing Unit
Expand Down Expand Up @@ -80,9 +82,5 @@ project:
- Johnson2015-qc
- Johnson2015-ur
- NLM_VisibleHumanMale
# A banner will be generated for you on publication, this is a placeholder
banner: banner.png
plugins:
- unsplash.mjs
site:
template: article-theme
Binary file added papers/matt_mccormick/thumbnail.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 0 additions & 24 deletions papers/matt_mccormick/unsplash.mjs

This file was deleted.

0 comments on commit bc750c4

Please sign in to comment.