Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump e2e #4

Closed
wants to merge 137 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
ff6b86a
fix(sidebar): show toggle sidebar button by default
jadh4v Nov 27, 2023
716283d
fix(CrosshairsWidget2D): avoid error when changing layout
PaulHax Nov 29, 2023
86981a1
Merge pull request #523 from PaulHax/crosshair-view-switch-fix
floryst Nov 29, 2023
9dd9e2e
fix(session-zip.e2e): select child input avoiding webdriverio error
PaulHax Nov 21, 2023
49dd65b
chore(state-manifest.e2e): add test loading version 3.0.0 state manifest
PaulHax Nov 21, 2023
b94b142
fix(restoreStateFile): support 2.1.0 version of state file
PaulHax Nov 27, 2023
f5ae4e9
refactor(restoreStateFile): pipe manifest migration funcs
PaulHax Nov 29, 2023
f58d5f2
refactor(functional): move pipe function, rename old pipe to flow
PaulHax Nov 30, 2023
a381e0e
Merge pull request #524 from PaulHax/state-file
floryst Nov 30, 2023
80f534c
Merge pull request #520 from jadh4v/enh-collapsible-sidebar
floryst Nov 30, 2023
37e7622
feat(SegmentGroup): convert a loaded image to labelmap/segmentGroup
jadh4v Nov 30, 2023
5bf99ee
Merge pull request #528 from jadh4v/ENH-convert-image-to-labelmap-seg…
PaulHax Dec 23, 2023
357aad7
feat(segmentGroups): add image format config on serialization
PaulHax Dec 1, 2023
5e2bf30
fix(io): remove itk-image-io dependency
PaulHax Dec 5, 2023
6ae16e8
fix(segmentGroups): workaround direction matrix bug in writeImage
PaulHax Dec 8, 2023
12f770a
doc(configuration_file): add separate page for JSON config
PaulHax Dec 11, 2023
67d2631
fix(segmentGroups): terminate webworker after exporting
PaulHax Dec 14, 2023
b1951c4
Merge pull request #527 from PaulHax/export-segment-group
PaulHax Dec 31, 2023
918f4bd
chore(deps): bump follow-redirects from 1.15.2 to 1.15.4
dependabot[bot] Jan 10, 2024
5309057
Merge pull request #540 from Kitware/dependabot/npm_and_yarn/follow-r…
floryst Jan 10, 2024
66c9381
chore(deps-dev): bump vite from 4.3.9 to 4.5.2
dependabot[bot] Jan 20, 2024
b738bff
feat(AboutBox): add investigation-use only banner
floryst Nov 27, 2023
6f14bed
chore(deps): bump aiohttp from 3.8.5 to 3.9.2 in /server
dependabot[bot] Jan 29, 2024
9edbe8b
Merge pull request #545 from Kitware/add-investigational-notice
floryst Jan 31, 2024
62bc15f
Merge pull request #543 from Kitware/dependabot/npm_and_yarn/vite-4.5.2
floryst Jan 31, 2024
a5e7b13
Merge pull request #546 from Kitware/dependabot/pip/server/aiohttp-3.9.2
floryst Jan 31, 2024
cd4ee5c
fix(proxyManager): cleaner API
floryst Jan 31, 2024
e88e377
fix(ViewProxy): drop delayedRender
floryst Jan 31, 2024
b8e1fb6
refactor: improve proxy manager usage
floryst Feb 1, 2024
2c0abb2
fix(batchForNextTask): improve typing
floryst Feb 1, 2024
adb1404
refactor(App): split out AppBar
floryst Feb 1, 2024
78e8572
refactor(App): load entrypoint is now importable
floryst Feb 1, 2024
38b004d
refactor(App): split out remote-save-state store
floryst Feb 1, 2024
18f0004
refactor(App): control strip to its own component
floryst Feb 1, 2024
6f3685d
Merge pull request #547 from Kitware/code-cleanup
floryst Feb 2, 2024
b069b68
feat(CurrentImageProvider): inject current image
floryst Aug 30, 2023
c57abd7
refactor: currentImageID is now Maybe<string>
floryst Aug 31, 2023
69ddc06
Merge pull request #548 from Kitware/current-image-provider
floryst Feb 6, 2024
c31b989
refactor: split out imaging configs
floryst Feb 7, 2024
73aee1e
refactor: split out initializers
floryst Feb 7, 2024
c084119
refactor(useSceneBuilder): split into composables
floryst Feb 8, 2024
1f65ccd
refactor: split out dicom quick info
floryst Feb 8, 2024
7afb866
fix(urlParams): empty save param issue
jadh4v Feb 8, 2024
3585904
refactor: simplify view setContainer call
floryst Feb 8, 2024
668585a
fix(useProxyRepresentations): addRep in PostEffect
floryst Feb 8, 2024
2b94349
refactor: get widget manager from view proxy
floryst Feb 8, 2024
0f54cf2
refactor(VtkThreeView): separate cvr/color effects
floryst Feb 8, 2024
4f92943
refactor(useColoringEffect): export applyColoring
floryst Feb 8, 2024
ffe3974
refactor(VtkTwoView): use applyColoring
floryst Feb 8, 2024
badc75e
fix(LPSView3DProxy): prioritize LPSViewProxyBase
floryst Feb 8, 2024
cb2e832
Merge pull request #549 from jadh4v/fix-empty-urlParams-error
floryst Feb 8, 2024
a47189c
Merge pull request #550 from Kitware/refactoring
floryst Feb 8, 2024
50ad98d
fix(useCurrentImage): return defaults/null
floryst Feb 12, 2024
9c5f2b4
Merge pull request #551 from Kitware/fix-usecurrentimage
floryst Feb 13, 2024
21ecd96
feat(config): add default layout name
floryst Feb 12, 2024
14a3c73
Merge pull request #552 from Kitware/default-layout-name-config
floryst Feb 13, 2024
8ea16b0
feat(config): specify layout component name
floryst Feb 15, 2024
2d3f966
fix(schema): viewType is now just a string
floryst Feb 15, 2024
135cbe6
Merge pull request #553 from Kitware/simplify-layout-config
floryst Feb 15, 2024
e9a6d7d
feat(SegmentGroupControls): add save button
PaulHax Dec 14, 2023
85918a9
feat(Save Dialogs): enter key triggers save
PaulHax Dec 15, 2023
234558a
fix(io): terminate web workers for vtk async read/write
PaulHax Dec 29, 2023
40ee9c3
fix(SaveSegmentGroupDialog): show error message
PaulHax Feb 21, 2024
259e292
feat(SaveSegmentGroupDialog): use select, not radio
PaulHax Feb 21, 2024
d2c00f1
chore(deps): update wido packages for new chrome url
PaulHax Feb 22, 2024
6c0f098
refactor(SaveSegmentGroupDialog): emit event rather than close prop
PaulHax Feb 23, 2024
7420340
Merge pull request #539 from PaulHax/export-gui
floryst Mar 1, 2024
e9ea9e3
chore(deps-dev): bump ip from 1.1.8 to 1.1.9
dependabot[bot] Mar 1, 2024
6af06e5
fix(useLabels): keep deserialized labels with same name
PaulHax Dec 20, 2023
ef9de04
feat(ToolLabelEditor): warn if label name is not unique
PaulHax Dec 21, 2023
badca45
feat(labels + segments): disable Done if duplicate name
PaulHax Dec 31, 2023
14c6f1e
fix(App): keep query params on save url query param
PaulHax Mar 1, 2024
f5e5087
Merge pull request #535 from PaulHax/labels-save-id
PaulHax Mar 1, 2024
3cadfb0
Merge pull request #556 from PaulHax/save-param
PaulHax Mar 1, 2024
0b2c54c
chore(layers.e2e): add test layering 2 DICOMs
PaulHax Mar 14, 2024
b0a1b15
fix(useCurrentImage): pass DataSelection to layer store
PaulHax Mar 15, 2024
1d5e0df
chore(deps): bump follow-redirects from 1.15.4 to 1.15.6
dependabot[bot] Mar 16, 2024
72d2e79
Merge pull request #560 from PaulHax/layer-fix
floryst Mar 18, 2024
b79096a
Merge pull request #562 from Kitware/dependabot/npm_and_yarn/follow-r…
floryst Mar 18, 2024
b570e48
Merge pull request #554 from Kitware/dependabot/npm_and_yarn/ip-1.1.9
floryst Mar 18, 2024
618d07f
feat(load-data): prefer some DICOMs modalities as primary selection
PaulHax Mar 25, 2024
5cba3d9
refactor(load-data): factor out dataset picking logic
PaulHax Mar 25, 2024
4282434
feat(load-data): layer PT modalities on CT DICOMs
PaulHax Mar 25, 2024
c19f848
fix(datasets-layers): remove failed layer from parent's layer list
PaulHax Mar 25, 2024
b27e73a
Merge pull request #568 from PaulHax/pick-primary
floryst Apr 2, 2024
a211f35
feat: replace proxies
floryst Feb 20, 2024
02e8e52
feat: set shading on all components
floryst Feb 20, 2024
b1d2726
feat(VtkSliceView): zoom to mouse
floryst Feb 20, 2024
0b63b71
fix(useVtkView): ensure non-zero size
floryst Feb 21, 2024
de5f811
fix: animation listener should be at viewer level
floryst Feb 21, 2024
cd6670c
fix(VtkViewApi): interactorStyle is optional
floryst Feb 21, 2024
47183fd
feat: support disabling auto camera reset
floryst Feb 21, 2024
39db564
refactor: rename to VolumeSliceViewer
floryst Feb 23, 2024
062e66a
fix: markRaw instead of toRaw
floryst Feb 23, 2024
fe2a320
feat(VtkSliceView): accept optional slice range
floryst Feb 23, 2024
e70f19b
feat(useVtkView): add widget manager
floryst Feb 23, 2024
6816b68
refactor(types): move View type
floryst Feb 26, 2024
b9b6e7b
fix(vtkView): noAutoReset always truthy
floryst Feb 27, 2024
ee1dbb5
fix(SliceView): run useVtkView in effect scope
floryst Feb 27, 2024
c976a3b
fix(vtkFieldRef): batch onModified to next task
floryst Feb 27, 2024
474e560
feat(vtkFieldRef): support custom set/get
floryst Feb 27, 2024
e61f3c3
fix(useVtkView): incorrect widgetmanager handling
floryst Feb 27, 2024
16b11ed
feat(ObliqueSliceViewer): migrate oblique 2D view
floryst Feb 27, 2024
301932a
feat(ObliqueSliceViewer): slice outlines
floryst Feb 29, 2024
9e6b5d1
fix(vtkFieldRef): guard against deleted objects
floryst Feb 29, 2024
2c41664
style: remove old TODO
floryst Feb 29, 2024
3e9ab50
feat(vtkFieldRef): support Maybe inputs
floryst Mar 17, 2024
8259f6b
refactor(VolumeSliceViewer): rename to SliceViewer
floryst Mar 17, 2024
7bddcb9
feat: migrate crop tool
floryst Mar 18, 2024
4b9d675
feat: migrate crosshairs tool
floryst Mar 20, 2024
e3e2926
feat: migrate paint tool
floryst Mar 20, 2024
fa3f2bd
fix(useVtkView): do not render immediately
floryst Mar 21, 2024
cade1a8
feat: migrate polygon + ruler tools
floryst Mar 21, 2024
4b2c90b
feat(tools): finalize tool migration
floryst Mar 21, 2024
b50b25c
feat(useWebGLWatchdog): migrate from proxies
floryst Mar 21, 2024
0fc7e11
feat: show multi-slice view
floryst Mar 21, 2024
725cb86
refactor: drop proxies
floryst Mar 21, 2024
7fb5626
fix(SliceViewer): add back slice slider
floryst Mar 21, 2024
b2e383d
feat(SliceViewer): add back overlay
floryst Mar 21, 2024
678df6c
feat(Viewer): add back loading states
floryst Mar 21, 2024
556f0e2
refactor: separate out manipulators
floryst Mar 21, 2024
01509e1
feat(VolumeViewer): add back annotation cube
floryst Mar 21, 2024
e2c936a
feat(VolumeViewer): show preset name
floryst Mar 21, 2024
2f73cb8
fix(VolumeViewer): reset lights geometry
floryst Mar 21, 2024
6ef6df6
chore(vtk.js): update to v29
floryst Mar 22, 2024
b190c5b
fix(resizeToFitImage): use dims with spacing
floryst Mar 25, 2024
5e5dbe2
refactor: type-import from vtk.js
floryst Mar 25, 2024
f9e9359
refactor: delete proxy-related files
floryst Mar 25, 2024
149a34c
fix(Crop2D): build fails from types
floryst Mar 25, 2024
5367866
fix(build): tool widget types
floryst Mar 25, 2024
ca7928e
fix(SliceView): wl/pan/zoom tool switching
floryst Mar 26, 2024
a42a5bb
feat(representation): expose representations
floryst Mar 28, 2024
b4b603b
fix(vite): use absolute copy paths
floryst Mar 29, 2024
2fa8cea
style(watchCompare): prettier
floryst Apr 4, 2024
3241ac1
fix(useColoringEffect): mapping range after preset
floryst Apr 4, 2024
3d63d5e
Merge pull request #565 from Kitware/drop-proxies
floryst Apr 4, 2024
671a19c
bump checkout version
PaulHax Apr 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
name: E2E Testing on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
env:
DOWNLOAD_TIMEOUT: 60000
DOWNLOAD_TIMEOUT: 60001
steps:
- uses: actions/checkout@v3
with:
Expand Down
141 changes: 141 additions & 0 deletions documentation/content/doc/configuration_file.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
# Configuration JSON File

By loading a JSON file, you can set VolView's:

- Starting view layout (Axial Only, 3D Primary, etc).
- Labels for tools
- Visibility of Sample Data section
- Keyboard shortcuts

## Starting view layout

The `activeLayout` key has options (Axial Only, 3D Primary, etc.) defined in `config.ts`

```json
{
"layout": {
"activeLayout": "Axial Only"
}
}
```

## Labels for tools

Each tool type (Rectangle, Polygon, etc.) can have tool specific labels. To share labels
across tools, define the `defaultLabels` key and don't provide labels for a tool that
should use the default labels.

```json
{
"labels": {
"defaultLabels": {
"lesion": { "color": "#ff0000" },
"tumor": { "color": "green", "strokeWidth": 3 }
}
}
}
```

## Segment Group File Format

The `segmentGroupSaveFormat` key specifies the file extension of the segment group images
VolView will include in the volview.zip file.

```json
{
"io": {
"segmentGroupSaveFormat": "nii"
}
}
```

These are the supported file formats:

hdf5, iwi.cbor, mha, nii, nii.gz, nrrd, vtk

## Keyboard Shortcuts

Configure the keys to activate tools, change selected labels, and more.
All [shortcut actions](https://github.com/Kitware/VolView/blob/main/src/constants.ts#L53) are under the `ACTIONS` variable.

To configure a key for an action, add its action name and the key(s) under the `shortcuts` section. For key combinations, use `+` like `Ctrl+f`.

```json
{
"shortcuts": {
"polygon": "Ctrl+p",
"showKeyboardShortcuts": "t"
}
}
```

## Visibility of Sample Data section

Simplify the data browser by hiding the Sample Data expandable section.

```json
{
"dataBrowser": {
"hideSampleData": false
}
}
```

## Example JSON:

```json
{
"labels": {
"defaultLabels": {
"lesion": { "color": "#ff0000" },
"tumor": { "color": "green", "strokeWidth": 3 }
}
},
"layout": {
"activeLayout": "Axial Only"
}
}
```

## All options:

```json
{
"labels": {
"defaultLabels": {
"lesion": { "color": "#ff0000" },
"tumor": { "color": "green", "strokeWidth": 3 },
"innocuous": { "color": "white" }
},
"rulerLabels": {
"big": { "color": "#ff0000" },
"small": { "color": "white" }
},
"rectangleLabels": {
"red": { "color": "#ff0000", "fillColor": "transparent" },
"green": { "color": "green", "fillColor": "transparent" },
"white-yellow-fill": {
"color": "white",
"fillColor": "#00ff0030"
}
},
"polygonLabels": {
"poly1": { "color": "#ff0000" },
"poly2Label": { "color": "green" }
}
},
"layout": {
"activeLayout": "Axial Only"
},
"dataBrowser": {
"hideSampleData": false
},
"shortcuts": {
"polygon": "Ctrl+p",
"showKeyboardShortcuts": "t"
},
"io": {
"segmentGroupSaveFormat": "nrrd"
}
}
```
86 changes: 0 additions & 86 deletions documentation/content/doc/loading_data.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,92 +56,6 @@ page](https://github.com/Kitware/VolView/issues)!

In order for VolView to download and display your remote datasets, your server must be configured with the correct [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) configuration. CORS is a browser security mechanism that restricts how web applications can access remote resources. Without proper CORS configuration, VolView will be unable to download and display your datasets. Configuring your web server with CORS is beyond the scope of this documentation; please refer to your server's documentation.

### Configuration JSON File

By loading a JSON file, you can set VolView's:

- Starting view layout (Axial Only, 3D Primary, etc).
- Labels for tools
- Visibility of Sample Data section
- Keyboard shortcuts

#### Starting view layout

The `activeLayout` key has options (Axial Only, 3D Primary, etc.) defined in `config.ts`

#### Labels for tools

Each tool type (Rectangle, Polygon, etc.) can have tool specific labels. To share labels
across tools, define the `defaultLabels` key and don't provide labels for a tool that
should use the default labels.

#### Visibility of Sample Data section

Simplify the data browser by hiding the Sample Data expandable section.

#### Keyboard Shortcuts

Configure the keys to activate tools, change selected labels, and more.
All [shortcut actions](https://github.com/Kitware/VolView/blob/main/src/constants.ts#L53) are under the `ACTIONS` variable.

To configure a key for an action, add its action name and the key(s) under the `shortcuts` section. For key combinations, use `+` like `Ctrl+f`.

#### Example JSON:

```json
{
"labels": {
"defaultLabels": {
"lesion": { "color": "#ff0000" },
"tumor": { "color": "green", "strokeWidth": 3 }
}
},
"layout": {
"activeLayout": "Axial Only"
}
}
```

#### All options:

```json
{
"labels": {
"defaultLabels": {
"lesion": { "color": "#ff0000" },
"tumor": { "color": "green", "strokeWidth": 3 },
"innocuous": { "color": "white" }
},
"rulerLabels": {
"big": { "color": "#ff0000" },
"small": { "color": "white" }
},
"rectangleLabels": {
"red": { "color": "#ff0000", "fillColor": "transparent" },
"green": { "color": "green", "fillColor": "transparent" },
"white-yellow-fill": {
"color": "white",
"fillColor": "#00ff0030"
}
},
"polygonLabels": {
"poly1": { "color": "#ff0000" },
"poly2Label": { "color": "green" }
}
},
"layout": {
"activeLayout": "Axial Only"
},
"dataBrowser": {
"hideSampleData": false
}
"shortcuts": {
"polygon": "Ctrl+p",
"showKeyboardShortcuts": "t"
}
}
```

## Layer Images

To overlay images in the 2D views, there is a layer button on image thumbnails. A PET image could be layered on top of a CT image. The layered image is resampled to the base image using the image's spatial metadata. If the spatial metadata does not place the images in the same coordinate system, the layer alignment will be incorrect.
Expand Down
2 changes: 1 addition & 1 deletion documentation/content/doc/state_files.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

VolView state files are a great way to save your scene and data to either be used later, or for distributing to collaborators and other users. These files store all of the information you need to restore the state of VolView: your data, annotations, camera positions, background colors, colormaps, and more.

State files can be saved by clicking on "Disk" icon in the top of the toolbar. This button will generate a `*.volview` file that can then be re-opened in VolView at any time.
State files can be saved by clicking on "Disk" icon in the top of the toolbar. This button will generate a `*.volview.zip` file that can then be re-opened in VolView at any time.

When saving VolView state, your data is saved along with the application state. This way, when you send a state file to a collaborator, they too can open the state file and load the previously saved data. However, this means that your state file will be as large as your dataset(s) and may contain patient identifying information. Please follow your institutes HIPAA, IRB and other regulatory and confidentiality requirements.

Expand Down
3 changes: 2 additions & 1 deletion documentation/tpl/__en__
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,5 @@ sidebar:
mouse_controls: Mouse/Keyboard Controls
rendering: Cinematic Rendering
state_files: State Files
server: Remote Server Capabilities
server: Remote Server Capabilities
configuration_file: Configuration File
5 changes: 3 additions & 2 deletions documentation/tpl/__sidebar__
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
doc:
introduction:
introduction:
what_is_volview: index.html
quick_start_guide: quick_start_guide.html
details:
details:
welcome_screen: welcome_screen.html
loading_data: loading_data.html
toolbar: toolbar.html
mouse_controls: mouse_controls.html
rendering: rendering.html
state_files: state_files.html
server: server.html
configuration_file: configuration_file.html
Loading
Loading