InsightSoftwareConsortium / InsightSoftwareConsortium/ITK-Wasm

Provide a memory safe version of I/O methods

Open
#577 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
235
Forks
61
Avg merge
4d 19h
Merged PRs (30d)
4

Description

There are surprisingly low limits on how much RAM a service worker can consume (4gbs), and even more surprising limits on total RAM usage per-tab on windows chromium machines (8gb).

In our testing, it takes ~4x the file size, in terms of allocated RAM, to run readImageDicomFileSeries — so in order to call readImageDicomFileSeries on a 250mb file series, the browser uses 1gb of RAM. Also in our testing, no browser can successfully process 1gb of dicom without running out of memory.

In our testing, at rest, vtk-js uses about ~2x the file size, in terms of allocated RAM, to display the image volume. What this means is that ITK is the bottleneck — we are unable to process files with itk-wasm that we should be able to view, just fine.

Is it possible to create a memory-safe or throttled version of these utilities that guarantee they won’t run the browser or thread out of memory?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.