Repository navigation
Conversation
✅ Deploy Preview for volview-dev ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
PaulHax
marked this pull request as draft
October 19, 2026 18:53
PaulHax
commented
Oct 28, 2026
PaulHax
commented
Oct 28, 2026
PaulHax
force-pushed
the
oct-en-face
branch
2 times, most recently
from
October 29, 2026 00:34
6362f0f to
59b60f2
Compare
PaulHax
force-pushed
the
segmentation-filename-matching
branch
from
October 29, 2026 00:53
89ea736 to
492e025
Compare
PaulHax
marked this pull request as ready for review
October 29, 2026 14:04
Read a 64 KiB prefix and expand bounded header probes before falling back to the existing full-file parse. Accept a prefix only after the complete Pixel Data element header is found. Deflated datasets keep the complete stream and inflater path, including trailing NULL padding. Add regression coverage for the read budget, a probe ending between metadata elements, oversized headers, and deflated streams larger than the first probe. Geometry and pixel values are unchanged. Chromium 148 metadata-helper benchmarks, seven retained alternating samples using the same synthetic OCT header and padded Blobs: - 32 MiB: 46.6 ms -> 2.0 ms - 128 MiB: 288.5 ms -> 2.8 ms - 256 MiB: 492.5 ms -> 1.9 ms The optimized helper reads 64 KiB in these cases and returns identical metadata. These isolate header-read cost, not full image decoding. A valid 512x512x256 synthetic OCT DICOM also loaded and rendered in both production builds: request-to-first-visible medians 5.75 s -> 4.87 s (three measured pairs after warmup, localhost, software WebGL). Shared host variation means this is not a general first-render speedup claim. Validation: 75 focused tests passed; production build/typecheck, ESLint, Prettier, and diff checks passed. One existing network-dependent streaming test could not resolve data.kitware.com (EAI_AGAIN).
2 of 3 tasks
Return the En face unavailable reason directly, and check each chunk's fixed tag list once instead of rebuilding a tag map for every chunk on every toolbar render and crosshairs drag. Pass the viewer's slab geometry to the projection representation rather than deriving it again, and drop geometry fields that only tests read. Share the settings defaults, the independent windowing predicate, the range slider thumb labels, a DICOM parser key helper, and the camera navigation manipulators, which cine views now use too. Coerce the current tool from its own availability, and remove the histogram sample width that no caller changes. Consolidate the OCT test selectors, option pickers, mask attachment and reference line hooks, and remove unused test helpers.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add an En face view for grayscale 3D volumes, including native retinal OCT. Mean, maximum, and sum projections use an adjustable slab along any source-grid axis, with independent contrast, pan, zoom, crosshairs, and reference lines. Changing the projection refits automatic contrast, and the view configuration is saved with the session.
Support native OCT spatial metadata and retain valid DICOM pixel spacing and multiframe spacing. The shared slab representation uses vtk.js reslice rendering with corrections for slab sampling and nonzero image extents. See the view implementation and mapper patch.
Includes the retinal sample with companion labels loaded by segmentation filename matching.