volview 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.browserslistrc +4 -0
- package/.editorconfig +6 -0
- package/.env +6 -0
- package/.eslintrc.js +109 -0
- package/.gitattributes +1 -0
- package/.github/workflows/checks.yml +16 -0
- package/.github/workflows/publish.yml +52 -0
- package/.prettierignore +5 -0
- package/CONTRIBUTING.md +29 -0
- package/LICENSE +202 -0
- package/README.md +44 -0
- package/babel.config.js +3 -0
- package/documentation/config.js +15 -0
- package/documentation/content/KWVolViewLogo.png +0 -0
- package/documentation/content/KWVolViewLogo.svg +35 -0
- package/documentation/content/VolViewLogo.png +0 -0
- package/documentation/content/VolViewLogo.svg +22 -0
- package/documentation/content/doc/index.md +64 -0
- package/documentation/content/doc/loading_data.md +30 -0
- package/documentation/content/doc/mouse_controls.md +34 -0
- package/documentation/content/doc/quick_start_guide.md +75 -0
- package/documentation/content/doc/rendering.md +27 -0
- package/documentation/content/doc/state_files.md +18 -0
- package/documentation/content/doc/toolbar.md +20 -0
- package/documentation/content/doc/welcome_screen.md +23 -0
- package/documentation/content/gallery/01-volview-welcome-notes.jpg +0 -0
- package/documentation/content/gallery/01-volview-welcome.jpg +0 -0
- package/documentation/content/gallery/02-volview-about.jpg +0 -0
- package/documentation/content/gallery/02-volview-notifications.jpg +0 -0
- package/documentation/content/gallery/02-volview-settings.jpg +0 -0
- package/documentation/content/gallery/03-volview-sample-datasets.jpg +0 -0
- package/documentation/content/gallery/04-volview-active-data.jpg +0 -0
- package/documentation/content/gallery/05-volview-select-data-to-delete.jpg +0 -0
- package/documentation/content/gallery/06-volview-corner-annotation.jpg +0 -0
- package/documentation/content/gallery/07-volview-layout-notes.jpg +0 -0
- package/documentation/content/gallery/07-volview-layout.jpg +0 -0
- package/documentation/content/gallery/09-volview-layout-3DPrimary.jpg +0 -0
- package/documentation/content/gallery/10-volview-wl-pan-zoom-notes.jpg +0 -0
- package/documentation/content/gallery/10-volview-wl-pan-zoom.jpg +0 -0
- package/documentation/content/gallery/11-volview-paint-notes.jpg +0 -0
- package/documentation/content/gallery/11-volview-paint.jpg +0 -0
- package/documentation/content/gallery/12-volview-paint-options.jpg +0 -0
- package/documentation/content/gallery/13-volview-crop-notes.jpg +0 -0
- package/documentation/content/gallery/13-volview-crop.jpg +0 -0
- package/documentation/content/gallery/14-volview-ruler.jpg +0 -0
- package/documentation/content/gallery/15-volview-crosshairs.jpg +0 -0
- package/documentation/content/gallery/16-volview-rendering.jpg +0 -0
- package/documentation/content/gallery/17-volview-colormap-notes.jpg +0 -0
- package/documentation/content/gallery/17-volview-colormap.jpg +0 -0
- package/documentation/content/gallery/17-volview-opacity-notes.jpg +0 -0
- package/documentation/content/gallery/17-volview-opacity.jpg +0 -0
- package/documentation/content/gallery/17-volview-opacity2.jpg +0 -0
- package/documentation/content/gallery/18-volview-presets.jpg +0 -0
- package/documentation/content/gallery/19-volview-color.jpg +0 -0
- package/documentation/content/gallery/19-volview-color2.jpg +0 -0
- package/documentation/content/gallery/20-volview-lightfollowcamera0.jpg +0 -0
- package/documentation/content/gallery/20-volview-lightfollowcamera1.jpg +0 -0
- package/documentation/content/gallery/20-volview-lightfollowcamera2.jpg +0 -0
- package/documentation/content/gallery/20-volview-lightfollowcamera3.jpg +0 -0
- package/documentation/content/gallery/21-volview-hybrid-final.jpg +0 -0
- package/documentation/content/gallery/21-volview-hybrid0.0.jpg +0 -0
- package/documentation/content/gallery/21-volview-hybrid0.5.jpg +0 -0
- package/documentation/content/gallery/21-volview-hybrid1.0.jpg +0 -0
- package/documentation/content/gallery/LocalAmbientOcclusion.jpg +0 -0
- package/documentation/content/gallery/Notes.pptx +0 -0
- package/documentation/content/gallery/VolView-Overview.jpg +0 -0
- package/documentation/content/gallery/index.md +53 -0
- package/documentation/content/icon/favicon-16x16.png +0 -0
- package/documentation/content/icon/favicon-196x196.png +0 -0
- package/documentation/content/icon/favicon-32x32.png +0 -0
- package/documentation/content/icon/favicon-96x96.png +0 -0
- package/documentation/content/index.pug +43 -0
- package/documentation/content/logo.png +0 -0
- package/documentation/content/logo.svg +20 -0
- package/documentation/data/menu.yml +3 -0
- package/documentation/themes/navy/layout/partial/footer.swig +22 -0
- package/documentation/tpl/__en__ +31 -0
- package/documentation/tpl/__sidebar__ +11 -0
- package/package.json +96 -0
- package/patches/jsdom-global+3.0.2.patch +12 -0
- package/patches/vue-toastification+1.7.14.patch +41 -0
- package/patches/vuetify+2.6.10.patch +13 -0
- package/prettier.config.js +9 -0
- package/public/favicon.ico +0 -0
- package/public/global.css +20 -0
- package/public/index.html +28 -0
- package/public/pvm-sample.png +0 -0
- package/server/helper.py +147 -0
- package/server/host.js +134 -0
- package/server/serialize.js +111 -0
- package/server/serialize.py +203 -0
- package/server/server.py +84 -0
- package/server/test.py +17 -0
- package/src/assets/KitwareHeadAndNeck.jpg +0 -0
- package/src/assets/logo.png +0 -0
- package/src/assets/logo.svg +20 -0
- package/src/assets/samples/3DUS-Fetus.jpg +0 -0
- package/src/assets/samples/CTA-Head_and_Neck.jpg +0 -0
- package/src/assets/samples/MRA-Head_and_Neck.jpg +0 -0
- package/src/assets/samples/MRI-Cardiac.jpg +0 -0
- package/src/assets/samples/MRI-PROSTATEx.jpg +0 -0
- package/src/components/AboutBox.vue +157 -0
- package/src/components/AiModule.vue +60 -0
- package/src/components/AnnotationsModule.vue +37 -0
- package/src/components/App.vue +539 -0
- package/src/components/ColorFunctionSlider.vue +181 -0
- package/src/components/DataBrowser.vue +173 -0
- package/src/components/DragAndDrop.vue +107 -0
- package/src/components/GroupableItem.vue +30 -0
- package/src/components/ImageDataBrowser.vue +186 -0
- package/src/components/ImageListCard.vue +114 -0
- package/src/components/ItemGroup.vue +74 -0
- package/src/components/LabelmapList.vue +36 -0
- package/src/components/LayoutGrid.vue +96 -0
- package/src/components/MeasurementsList.vue +134 -0
- package/src/components/MessageCenter.vue +189 -0
- package/src/components/MessageItem.vue +83 -0
- package/src/components/MessageNotificationContent.vue +20 -0
- package/src/components/MessageNotifications.vue +84 -0
- package/src/components/ModelBrowser.vue +83 -0
- package/src/components/ModulePanel.vue +137 -0
- package/src/components/PaintControls.vue +174 -0
- package/src/components/PatientBrowser.vue +280 -0
- package/src/components/PatientStudyVolumeBrowser.vue +325 -0
- package/src/components/RenderingModule.vue +49 -0
- package/src/components/ResizableNavDrawer.vue +158 -0
- package/src/components/SampleDataBrowser.vue +198 -0
- package/src/components/SaveSession.vue +57 -0
- package/src/components/Settings.vue +35 -0
- package/src/components/SliceSlider.vue +182 -0
- package/src/components/SpleenModule.vue +101 -0
- package/src/components/ToolButton.vue +58 -0
- package/src/components/ToolStrip.vue +186 -0
- package/src/components/ViewOverlayGrid.vue +84 -0
- package/src/components/VolumePresets.vue +165 -0
- package/src/components/VolumeProperties.vue +171 -0
- package/src/components/VolumeRendering.vue +365 -0
- package/src/components/VtkThreeView.vue +512 -0
- package/src/components/VtkTwoView.vue +665 -0
- package/src/components/__tests__/ResizableNavDrawer.spec.js +32 -0
- package/src/components/__tests__/ToolButton.spec.js +46 -0
- package/src/components/icons/KitwareLogoIcon.vue +54 -0
- package/src/components/icons/VolViewFullLogo.vue +139 -0
- package/src/components/icons/VolViewLogo.vue +78 -0
- package/src/components/styles/utils.css +16 -0
- package/src/components/styles/vtk-view.css +116 -0
- package/src/components/tools/CropTool.vue +61 -0
- package/src/components/tools/CrosshairsTool.vue +93 -0
- package/src/components/tools/MouseManipulatorTool.vue +108 -0
- package/src/components/tools/PaintTool.vue +54 -0
- package/src/components/tools/PanTool.vue +35 -0
- package/src/components/tools/RulerTool.vue +202 -0
- package/src/components/tools/SliceScrollTool.vue +123 -0
- package/src/components/tools/WindowLevelTool.vue +191 -0
- package/src/components/tools/ZoomTool.vue +35 -0
- package/src/components/tools/crop/Crop2D.vue +367 -0
- package/src/components/tools/crop/Crop2DLineHandle.vue +103 -0
- package/src/components/tools/crop/Crop3D.vue +192 -0
- package/src/components/tools/crop/CropControls.vue +38 -0
- package/src/components/tools/crop/types.ts +12 -0
- package/src/components/tools/crosshairs/CrosshairSVG2D.vue +125 -0
- package/src/components/tools/crosshairs/CrosshairsWidget2D.vue +100 -0
- package/src/components/tools/paint/PaintWidget2D.vue +192 -0
- package/src/components/tools/ruler/RulerSVG2D.vue +181 -0
- package/src/components/tools/ruler/RulerWidget2D.vue +154 -0
- package/src/composables/__tests__/useDoubleRecord.spec.ts +57 -0
- package/src/composables/__tests__/useOrientationLabels.spec.ts +29 -0
- package/src/composables/isViewAnimating.ts +25 -0
- package/src/composables/manageVTKSubscription.ts +6 -0
- package/src/composables/onProxyManagerEvent.ts +50 -0
- package/src/composables/proxyManager.ts +13 -0
- package/src/composables/sync/__tests__/createPrimitiveSyncContext.spec.ts +41 -0
- package/src/composables/sync/__tests__/useWindowingSync.spec.ts +51 -0
- package/src/composables/sync/createPrimitiveSyncContext.ts +83 -0
- package/src/composables/sync/useWindowingSync.ts +48 -0
- package/src/composables/useAppLoadingNotifications.ts +73 -0
- package/src/composables/useCameraOrientation.ts +34 -0
- package/src/composables/useCurrentImage.ts +74 -0
- package/src/composables/useCurrentSlice.ts +43 -0
- package/src/composables/useDoubleRecord.ts +77 -0
- package/src/composables/useEventListener.ts +26 -0
- package/src/composables/useGlobalErrorHook.ts +18 -0
- package/src/composables/useMultiSelection.ts +29 -0
- package/src/composables/useOrientationLabels.ts +62 -0
- package/src/composables/usePanels.ts +42 -0
- package/src/composables/usePersistCameraConfig.ts +138 -0
- package/src/composables/useResizeObserver.ts +37 -0
- package/src/composables/useResizeToFit.ts +50 -0
- package/src/composables/useSceneBuilder.ts +96 -0
- package/src/composables/useToast.js +11 -0
- package/src/composables/useVTKCallback.ts +33 -0
- package/src/composables/useVTKWorldToDisplay.ts +141 -0
- package/src/composables/useViewProxy.ts +87 -0
- package/src/composables/useVolumeThumbnailing.ts +173 -0
- package/src/composables/useWebGLWatchdog.ts +32 -0
- package/src/composables/useWidgetManager.ts +41 -0
- package/src/config.ts +182 -0
- package/src/constants.ts +38 -0
- package/src/core/id.ts +18 -0
- package/src/core/provider.ts +31 -0
- package/src/core/proxies.ts +90 -0
- package/src/core/thumbnailers/__tests__/vtk-image.spec.ts +58 -0
- package/src/core/thumbnailers/index.ts +5 -0
- package/src/core/thumbnailers/volume-thumbnailer.ts +130 -0
- package/src/core/thumbnailers/vtk-image.ts +142 -0
- package/src/core/tools/__tests__/paint.spec.ts +101 -0
- package/src/core/tools/__tests__/ruler.spec.ts +73 -0
- package/src/core/tools/paint/brush.ts +20 -0
- package/src/core/tools/paint/ellipse-brush.ts +96 -0
- package/src/core/tools/paint/index.ts +141 -0
- package/src/core/tools/ruler.ts +149 -0
- package/src/global.d.ts +24 -0
- package/src/io/__tests__/io.spec.ts +26 -0
- package/src/io/dicom.ts +187 -0
- package/src/io/index.ts +11 -0
- package/src/io/io.ts +157 -0
- package/src/io/itk/itkConfig.js +8 -0
- package/src/io/itk-dicom/dicom.cpp +327 -0
- package/src/io/itk-dicom/web-build/dicom.js +16 -0
- package/src/io/itk-dicom/web-build/dicom.umd.js +21 -0
- package/src/io/itk-dicom/web-build/dicom.umd.wasm +0 -0
- package/src/io/itk-dicom/web-build/dicom.wasm +0 -0
- package/src/io/manifest.ts +30 -0
- package/src/io/readers.ts +36 -0
- package/src/io/state-file/index.ts +170 -0
- package/src/io/state-file/schema.ts +277 -0
- package/src/io/state-file/utils.ts +33 -0
- package/src/io/types.ts +4 -0
- package/src/io/vtk/async.reader.worker.ts +50 -0
- package/src/io/vtk/async.ts +58 -0
- package/src/io/vtk/async.writer.worker.ts +46 -0
- package/src/io/vtk/common.ts +30 -0
- package/src/io/zip.ts +31 -0
- package/src/main.js +66 -0
- package/src/main.ts +1 -0
- package/src/plugins/vuetify.js +25 -0
- package/src/shims-itk.d.ts +67 -0
- package/src/shims-misc.d.ts +4 -0
- package/src/shims-tsx.d.ts +13 -0
- package/src/shims-vtk.d.ts +1042 -0
- package/src/shims-vue.d.ts +5 -0
- package/src/store/__tests__/datasets.spec.ts +75 -0
- package/src/store/__tests__/messages.spec.ts +74 -0
- package/src/store/__tests__/rulers.spec.ts +77 -0
- package/src/store/__tests__/view-configs.spec.ts +37 -0
- package/src/store/datasets-dicom.ts +398 -0
- package/src/store/datasets-files.ts +35 -0
- package/src/store/datasets-images.ts +118 -0
- package/src/store/datasets-labelmaps.ts +136 -0
- package/src/store/datasets-models.ts +25 -0
- package/src/store/datasets.ts +341 -0
- package/src/store/messages.ts +144 -0
- package/src/store/tools/crop.ts +136 -0
- package/src/store/tools/crosshairs.ts +131 -0
- package/src/store/tools/index.ts +95 -0
- package/src/store/tools/paint.ts +191 -0
- package/src/store/tools/rulers.ts +305 -0
- package/src/store/tools/types.ts +54 -0
- package/src/store/view-configs/camera.ts +51 -0
- package/src/store/view-configs/common.ts +61 -0
- package/src/store/view-configs/slicing.ts +86 -0
- package/src/store/view-configs/types.ts +39 -0
- package/src/store/view-configs/volume-coloring.ts +193 -0
- package/src/store/view-configs/windowing.ts +69 -0
- package/src/store/view-configs.ts +78 -0
- package/src/store/views.ts +130 -0
- package/src/types/index.ts +16 -0
- package/src/types/layout.ts +10 -0
- package/src/types/lps.ts +40 -0
- package/src/types/views.ts +65 -0
- package/src/types/vtk-types.ts +29 -0
- package/src/utils/__tests__/lps.spec.ts +102 -0
- package/src/utils/color.ts +23 -0
- package/src/utils/errors.js +3 -0
- package/src/utils/fetch.ts +101 -0
- package/src/utils/hacks.ts +14 -0
- package/src/utils/index.ts +83 -0
- package/src/utils/lps.ts +129 -0
- package/src/utils/manipulators.ts +35 -0
- package/src/utils/promise-worker.ts +45 -0
- package/src/utils/vtk-helpers.ts +215 -0
- package/src/utils/workerHandler.js +42 -0
- package/src/vtk/ColorMaps.ts +72 -0
- package/src/vtk/CrosshairsWidget/behavior.ts +112 -0
- package/src/vtk/CrosshairsWidget/index.d.ts +22 -0
- package/src/vtk/CrosshairsWidget/index.js +73 -0
- package/src/vtk/CrosshairsWidget/state.ts +51 -0
- package/src/vtk/IJKSliceRepresentationProxy/index.d.ts +9 -0
- package/src/vtk/IJKSliceRepresentationProxy/index.js +59 -0
- package/src/vtk/LPSView2DProxy/index.d.ts +18 -0
- package/src/vtk/LPSView2DProxy/index.js +89 -0
- package/src/vtk/LPSView3DProxy/index.d.ts +16 -0
- package/src/vtk/LPSView3DProxy/index.js +78 -0
- package/src/vtk/LabelMap/index.d.ts +16 -0
- package/src/vtk/LabelMap/index.js +49 -0
- package/src/vtk/LabelMapSliceRepProxy/index.d.ts +6 -0
- package/src/vtk/LabelMapSliceRepProxy/index.js +104 -0
- package/src/vtk/MedicalColorPresets.json +1448 -0
- package/src/vtk/PaintBrushContextRepresentation/index.js +191 -0
- package/src/vtk/PaintWidget/behavior.ts +101 -0
- package/src/vtk/PaintWidget/index.d.ts +28 -0
- package/src/vtk/PaintWidget/index.js +56 -0
- package/src/vtk/PaintWidget/state.ts +41 -0
- package/src/vtk/PiecewiseWidget/index.js +203 -0
- package/src/vtk/RulerWidget/behavior.ts +185 -0
- package/src/vtk/RulerWidget/index.d.ts +25 -0
- package/src/vtk/RulerWidget/index.js +79 -0
- package/src/vtk/RulerWidget/state.ts +63 -0
- package/src/vtk/TreJsonConverter/index.js +150 -0
- package/src/vtk/proxy.js +66 -0
- package/src/vtk/proxyUtils.js +16 -0
- package/src/vtk/webvr-empty.js +1 -0
- package/tests/testUtils.js +12 -0
- package/tsconfig.json +46 -0
- package/vue.config.js +86 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
title: What is VolView?
|
|
2
|
+
----
|
|
3
|
+
|
|
4
|
+
VolView is an open source radiological viewer developed for clinical professionals. With VolView, you can gain a deeper understanding of your data through high-quality, interactive visualizations, including cinematic volume renderings. Since VolView runs in your browser, you do not need to install software, and your data stays securely on your machine.
|
|
5
|
+
|
|
6
|
+

|
|
7
|
+
|
|
8
|
+
## Features
|
|
9
|
+
|
|
10
|
+
Major features of VolView include:
|
|
11
|
+
|
|
12
|
+
1. **Cinematic Volume Rendering**: Create beautiful renderings and gain new insights into your data with only a few clicks. VolView provides three cinematic volume rendering modes and intuitive controls for each. We've also provides simple ways to control lighting and multiple presets to get you started.
|
|
13
|
+
|
|
14
|
+
2. **Drag-and-Drop DICOM**: Drag DICOM images onto VolView, and they will be quickly parsed and presented as thumbnails. Click on a thumbnail, and the data is quickly loaded and presented as 2D slices and a 3D cinematic volume rendering.
|
|
15
|
+
|
|
16
|
+
3. **Annotations and Measures**: We have provided a small set of tools for painting, measuring, and cropping, and we are actively working to expand that toolset. If you have suggestions for new tools or for improving VolView in general, please leave feedback at our [Issue Tracker](https://github.com/Kitware/VolView/issues).
|
|
17
|
+
|
|
18
|
+
4. **Simple, Scalable, and Secure**: Simply visit a website to install VolView. Once it is running, all data handling, processing, and visualization occurs on your machine. Data you load into VolView never leaves your machine. And VolView is designed to run on any web browser: from the one on your phone to the one running on your most powerful workstations. It will take advantage of local GPU resources to accelerate its rendering processes, but if none is available, it will still generate the same high quality renderings, albeit a bit slower.
|
|
19
|
+
|
|
20
|
+
5. **Foundation for the Future**: VolView is meant to serve as a foundation for your future projects and products. It is open-source and free for commercial and academic use. You may modify it yourself, or Kitware can help you customize it to support client-server workflows, provide streamlined interfaces and tools, and carry your brand.
|
|
21
|
+
|
|
22
|
+
VolView is **not FDA approved for any purpose**, but Kitware can work with you to create a custom version of VolView and submit it for FDA approval. For more information, contact [kitware@kitware.com](mailto:kitware@kitware.com).
|
|
23
|
+
|
|
24
|
+
## History
|
|
25
|
+
|
|
26
|
+
VolView version 1.1 was released on Sept. 21, 1999 to provide clinical professionals with an intuitive interface to industry-leading volume rendering capabilities. Built using [VTK](https://vtk.org), it was extremely innovative at the time. It provided interactive volume renderings that did not require dedicated systems purchased for big-name medical device manufacturers. It supported Windows 95/98/NT, Sun, Silicon Graphics and Linux environments, and it provided custom level-of-detail and composite rendering techniques. That version of VolView thrived for over a decade, with the last release in June of 2011. In 2011, open source radiological viewers had become commonplace (many also built using VTK), and we pivoted our attention to 3D Slicer as an advance, community-support, extensible platform for research and clinical application development.
|
|
27
|
+
|
|
28
|
+
We have released VolView 4.0 in 2022 to again advance the radiological image visualization field. Built using the javascript version of VTK (i.e., [vtk.js](https://kitware.github.io/vtk-js/index.html)), VolView 4.0 runs in web browsers and provides cinematic volume rendering capabilities that are only broadly available in dedicated systems sold by big-name medical device manufacturers. We look forward to continuing to use the VolView platform for medical image visualization innovation, with plans to support WebXR for holographic and AR/VR devices as well as companion libraries for advance image analysis (e.g., [itk.wasm](https://github.com/InsightSoftwareConsortium/itk-wasm)) and AI algorithms (e.g., via [MONAI](https://monai.io)).
|
|
29
|
+
|
|
30
|
+
## Roadmap
|
|
31
|
+
|
|
32
|
+
Details and progress on our roadmap are tracked in the VolView issue tracker on Github: https://github.com/Kitware/VolView/issues
|
|
33
|
+
|
|
34
|
+
Our next major release is planned for March, 2023, and it will support:
|
|
35
|
+
* DICOM Web
|
|
36
|
+
* DICOM SEG, RT, and SR reading and writing
|
|
37
|
+
* ITK for image processing
|
|
38
|
+
* Deep learning inference for image analysis
|
|
39
|
+
|
|
40
|
+
## Citation
|
|
41
|
+
|
|
42
|
+
If you find VolView to be useful for your work, please cite our paper on cinematic rendering:
|
|
43
|
+
|
|
44
|
+
[Xu J, Thevenon G, Chabat T, McCormick M, Li F, Birdsong T, Martin K, Lee Y, and Aylward S, "Interactive, in-browser cinematic volume rendering of medical images", Computer Methods in Computer Methods in Biomechanics and Biomedical Engineering: Imaging & Visualization](https://www.tandfonline.com/doi/full/10.1080/21681163.2022.2145239)
|
|
45
|
+
|
|
46
|
+
To refer to VolView's source code, please provide a link to https://github.com/Kitware/VolView and cite [DOI:10.5281/zendo.7328066](https://zenodo.org/badge/latestdoi/248073292)
|
|
47
|
+
|
|
48
|
+
## Acknowledgements
|
|
49
|
+
|
|
50
|
+
This work was funded, in part, by the NIH via NIBIB and NIGMS R01EB021396, NIBIB R01EB014955, NCI R01CA220681, and NINDS R42NS086295.
|
|
51
|
+
|
|
52
|
+
## Related Work
|
|
53
|
+
|
|
54
|
+
Learn about our related works at the following links:
|
|
55
|
+
* Glance: General purpose scientific visualization in web browsers
|
|
56
|
+
* https://kitware.github.io/glance/index.html
|
|
57
|
+
* 3D Slicer: Desktop (C++ and Python), extensible radiological viewer
|
|
58
|
+
* https://slicer.org
|
|
59
|
+
* trame: Python framework for quickly creating web application involving server-side rendering and computation.
|
|
60
|
+
* https://kitware.github.io/trame/index.html
|
|
61
|
+
* itk.wasm: Web-assembly version of ITK for in-browser image segmentation and registration, with outstanding DICOM support.
|
|
62
|
+
* https://github.com/InsightSoftwareConsortium/itk-wasm
|
|
63
|
+
* vtk.js: A pure javascript library for advanced, interactive, scientific visualization in web browsers.
|
|
64
|
+
* https://kitware.github.io/vtk-js/index.html
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
title: Loading Data
|
|
2
|
+
----
|
|
3
|
+
|
|
4
|
+
The most straightfoward way to load files into VolView is to drag-and-drop them onto the central window when viewing the "Data" tab. You can also click within the central window to open a file browser and select the files or folders the "Open" button on the top-right toolbar. To complement different use-cases, there are a few other ways to open files.
|
|
5
|
+
|
|
6
|
+
## File formats
|
|
7
|
+
|
|
8
|
+
VolView can load multiple DICOM files, folders containing multiple DICOM files, or zipped files containing multiple DICOM files. It also supports loading Nifti, NRRD, MHA, and 20+ other file formats thanks to the extensive I/O capabilities of ITK and itk.wasm, but care must be taken when loading non-DICOM data as the orientation of the data in those files cannot be assured.
|
|
9
|
+
|
|
10
|
+
## Sample Data
|
|
11
|
+
|
|
12
|
+
VolView includes links to a variety of sample data. Clicking on those thumbnails in the Data tab will download that data from Kitware data.kitware.com website into your local machine.
|
|
13
|
+
|
|
14
|
+
## DICOM Web
|
|
15
|
+
|
|
16
|
+
DICOMWeb support is being added to VolView. It will allow data from compliant DICOMWeb servers to be browsed, searched, and downloaded into VolView with only a few clicks.
|
|
17
|
+
|
|
18
|
+
## Loading Remote Data via URLs
|
|
19
|
+
|
|
20
|
+
VolView supports loading remote datasets at application start through URL parameters. An example of this integration in action can be viewed here: [VolView with sample data](https://volview.netlify.com/?names=[prostate-mri.zip,neck.mha]&urls=[https://data.kitware.com/api/v1/item/63527c7311dab8142820a338/download,https://data.kitware.com/api/v1/item/620db4b84acac99f42e75420/download])
|
|
21
|
+
|
|
22
|
+
The URL is constructed with two parts, as shown below. The required parameter is the `urls` parameter, which specifies a list of URLs to download. An optional `names` parameter specifies the filename to go along with the file. If VolView cannot infer the file type, the filename's extension is used as a fallback. Loading multiple URLs is achieved by separating them with a comma.
|
|
23
|
+
|
|
24
|
+
<pre>
|
|
25
|
+
https://volview.netlify.com/?<strong>names=[prostate-mri.zip,neck.mha]</strong>&<strong>urls=[https://data.kitware.com/api/v1/item/63527c7311dab8142820a338/download,https://data.kitware.com/api/v1/item/620db4b84acac99f42e75420/download]</strong>
|
|
26
|
+
</pre>
|
|
27
|
+
|
|
28
|
+
### CORS
|
|
29
|
+
|
|
30
|
+
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.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
title: Keyboard shortcuts
|
|
2
|
+
----
|
|
3
|
+
|
|
4
|
+
<style>
|
|
5
|
+
table {
|
|
6
|
+
width: 100%;
|
|
7
|
+
}
|
|
8
|
+
</style>
|
|
9
|
+
|
|
10
|
+
## Data management
|
|
11
|
+
|
|
12
|
+
| Shortcut | Action |
|
|
13
|
+
| -------------- | -------------------- |
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
## Slice
|
|
17
|
+
|
|
18
|
+
| Shortcut | Action |
|
|
19
|
+
| -------------- | --------------- |
|
|
20
|
+
| Up arrow | Next Slice |
|
|
21
|
+
| Right arrow | Next Slice |
|
|
22
|
+
| Down array | Previous Slice |
|
|
23
|
+
| Left array | Previous Slice |
|
|
24
|
+
|
|
25
|
+
## Mouse Controls
|
|
26
|
+
|
|
27
|
+
| Action | 2D | 3D |
|
|
28
|
+
| ------------ | --------------- | -------|
|
|
29
|
+
| Left | grayscale | rotate |
|
|
30
|
+
| Mid | pan | pan |
|
|
31
|
+
| Right | zoom | zoom |
|
|
32
|
+
| Ctrl + Left | zoom | zoom |
|
|
33
|
+
| Shift + Left | pan | pan |
|
|
34
|
+
| Wheel | navigate slices | zoom |
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
title: Quick Start Guide
|
|
2
|
+
----
|
|
3
|
+
|
|
4
|
+
<style>
|
|
5
|
+
table {
|
|
6
|
+
width: 100%;
|
|
7
|
+
}
|
|
8
|
+
</style>
|
|
9
|
+
|
|
10
|
+
The Welcome screen for VolView is annotated in the image shown below. More information on the components of the welcome screen is provided in the ["Welcome Screen"](welcome_screen.html) documentation.
|
|
11
|
+
|
|
12
|
+

|
|
13
|
+
|
|
14
|
+
Starting from the welcome screen, there are four simple constructs needed to generate stunning and insightful visualizations from DICOM data.
|
|
15
|
+
1. Loading data
|
|
16
|
+
2. Radiological controls
|
|
17
|
+
3. Rendering controls
|
|
18
|
+
4. Saving / loading state
|
|
19
|
+
|
|
20
|
+
## 1. Loading Data
|
|
21
|
+
|
|
22
|
+
VolView accepts DICOM data in a vareity of formats:
|
|
23
|
+
* Folders: where a folder contains multiple DICOM objects (files)
|
|
24
|
+
* Selections of files: a selection of multiple DICOM files
|
|
25
|
+
* Zipped collections: containing a folder or selection of DICOM files
|
|
26
|
+
|
|
27
|
+
From the Data tab (default tab when VolView is started) you can drag-and-drop DICOM data in any of the above formats or you can click to bring up a file browser and select your DICOM data. You can also select one of the sample DICOM collections listed, and it will be downloaded onto your machine from [https://data.kitware.com](https://data.kitware.com/#collection/586fef9f8d777f05f44a5c86/folder/634713cf11dab81428208e1e).
|
|
28
|
+
|
|
29
|
+
[***Watch the video!***](https://youtu.be/4PvZd7yTzf0)
|
|
30
|
+
|
|
31
|
+
VolView can also load many other image data formats. To learn more, see the documentation on ["Loading Data"](loading_data.html).
|
|
32
|
+
|
|
33
|
+
**Note:** When new data has been loaded or when switching between tabs there may be a delay of up to 10 second before VolView displays the new data / tab. Please be patient during this period. We apologize for this delay, and it will be eliminated in future versions of VolView.
|
|
34
|
+
|
|
35
|
+
## 2. Radiological controls
|
|
36
|
+
|
|
37
|
+
The three main radiological controls are as following:
|
|
38
|
+
|
|
39
|
+
* Layout: This toolbar button is illustrated below. Use it to choose between four useful window arrangements. As in all things, if you have a particular layout that you would like to see added, please make a feature request on our ["issue tracker"](https://github.com/Kitware/VolView/issues). 
|
|
40
|
+
|
|
41
|
+
* 2D Left mouse button: Window / Level, Pan, Zoom, or Crosshairs: Select these options to control the function of the left mouse button in the 2D windows. 
|
|
42
|
+
|
|
43
|
+
* 2D Annotations: Paint and Ruler: When the ruler tool selected, the left mouse button is used to place and adjust ruler end-markers. Right clicking on a end-marker displays a pop-up menu for deleting that ruler. Switch to the "Annotations" tab to see a list of annotations made to currently loaded data. Select the location icon next to a listed ruler to jump to its slice. Select the trashcan to delete that ruler. When the paint tool is selected, you can paint in any 2D window. Click on the paint tool a second time to bring up a menu of colors and adjust the brush size. 
|
|
44
|
+
|
|
45
|
+
* 3D Crop: Select this tool to adjust the extent of data shown in the 3D rendering. In the 3D window you can pick and move the corner, edge, and side markers to make adjustments. In the 2D windows, grab and move the edges of the bounding box overlaid on the data. 
|
|
46
|
+
|
|
47
|
+
[***Watch the video!***](https://youtu.be/Bj4ijh_VLUQ)
|
|
48
|
+
|
|
49
|
+
For information on the toolbar, see the documentation on ["Mouse controls"](mouse_controls.html) and ["Toolbar controls"](toolbar.html).
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
## 3. Rendering controls
|
|
53
|
+
|
|
54
|
+
VolView reads the DICOM tags of your data to determine appropriate preset parameter values for cinematic volume rendering for your data, but often you will want to tweak those presets to emphasize specific details. We recommend the following sequence of tweaks to improve your visualizations.
|
|
55
|
+
|
|
56
|
+
1. Cinematic volume rendering involves two "transfer functions": one maps the recorded intensity values (e.g., CT hounsfield units) to opacity and the other maps recorded intensity values to color. Both can be adjusted using the controls at the top of the Rendering tab. The graph at the top shows a histogram of the recorded intensity values in light gray and the current opacity transfer function as an overlaid curve in black. In that graph, beneath the black curve, is a depiction of the color transfer function. 
|
|
57
|
+
a. Begin by adjusting the opacity transfer function by a press-and-drag right/left on the top graph. 
|
|
58
|
+
b. Then adjust the color transfer function by moving the blue dots on the colorbar beneath the graph. 
|
|
59
|
+
|
|
60
|
+
2. You may decide that the colormaps and/or transfer function aren't suitable for your data. Click on the "Presets" bar to expand and show the available presets that offer alternative opacity and color transfer functions. 
|
|
61
|
+
3. Next, the lighting can be controlled.
|
|
62
|
+
a. Ambient lighting is the general brightness of the scene.
|
|
63
|
+
b. Diffuse lighting controls how the light reflects off the data. It is influenced by the position of the light relative to the orientation of the data's local surface.
|
|
64
|
+
c. Light-follows-camera can be enabled / disabled to create shadows that highlights details within the data. When enabled, the light will be positioned in-line with the camera. When disabled, the last position of the light stays fixed relative to the data, even if the camera is moved. With light-follows-camera enabled, here is a view when the light is following the camera:  By moving the camera (and thereby the light) to the front of the data and then disabling light-follows-camera, the view should look light this:  Then moving back to the side view will show shadows that emphasize depth and details: 
|
|
65
|
+
|
|
66
|
+
4. Advanced, you can also explore alternative cinematic rendering methods. Detailed documentation will soon follow that describes these methods and demonstrates their utility for various types of medical data.
|
|
67
|
+
a. Standard
|
|
68
|
+
b. Hybrid
|
|
69
|
+
c. Ambient Occlusion
|
|
70
|
+
|
|
71
|
+
[***Watch the video!***](https://youtu.be/eyrGd-meg6I)
|
|
72
|
+
|
|
73
|
+
## 4. Saving / loading state
|
|
74
|
+
|
|
75
|
+
Once you have made the measures and generated the visualizations that you want to store to recall later or share with others, use the icons at the top of the toolbar to Load and Save state files. For more information on the json format of these state files and how they can be used to integrate VolView with workflows and other services, see [State Files](state_files.html).
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
title: Cinematic Volume Rendering
|
|
2
|
+
----
|
|
3
|
+
|
|
4
|
+
<style>
|
|
5
|
+
table {
|
|
6
|
+
width: 100%;
|
|
7
|
+
}
|
|
8
|
+
</style>
|
|
9
|
+
|
|
10
|
+
VolView reads the DICOM tags of your data to determine appropriate preset parameter values for cinematic volume rendering for your data, but often you will want to tweak those presets to emphasize specific details. We recommend the following sequence of tweaks to improve your visualizations.
|
|
11
|
+
|
|
12
|
+
1. Cinematic volume rendering involves two "transfer functions": one maps the recorded intensity values (e.g., CT hounsfield units) to opacity and the other maps recorded intensity values to color. Both can be adjusted using the controls at the top of the Rendering tab. The graph at the top shows a histogram of the recorded intensity values in light gray and the current opacity transfer function as an overlaid curve in black. In that graph, beneath the black curve, is a depiction of the color transfer function. 
|
|
13
|
+
1. Begin by adjusting the opacity transfer function by a press-and-drag right/left on the top graph. 
|
|
14
|
+
2. Then adjust the color transfer function by moving the blue dots on the colorbar beneath the graph. 
|
|
15
|
+
|
|
16
|
+
2. You may decide that the colormaps and/or transfer function aren't suitable for your data. Click on the "Presets" bar to expand and show the available presets that offer alternative opacity and color transfer functions. 
|
|
17
|
+
[***Watch the video!***](https://youtu.be/eyrGd-meg6I)
|
|
18
|
+
|
|
19
|
+
3. Next, the lighting can be controlled.
|
|
20
|
+
1. Ambient lighting is the general brightness of the scene.
|
|
21
|
+
2. Diffuse lighting controls how the light reflects off the data. It is influenced by the position of the light relative to the orientation of the data's local surface.
|
|
22
|
+
3. Light-follows-camera can be enabled / disabled to create shadows that highlights details within the data. When enabled, the light will be positioned in-line with the camera. When disabled, the last position of the light stays fixed relative to the data, even if the camera is moved. With light-follows-camera enabled, here is a view when the light is following the camera: . By moving the camera (and thereby the light) to the front of the data and then disabling light-follows-camera, the view should look light this: . Then moving back to the side view will show shadows that emphasize depth and details: .
|
|
23
|
+
|
|
24
|
+
4. Advanced, you can also explore alternative cinematic rendering methods.
|
|
25
|
+
1. Standard
|
|
26
|
+
2. Hybrid
|
|
27
|
+
3. Ambient Occlusion
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
title: State Files
|
|
2
|
+
----
|
|
3
|
+
|
|
4
|
+
<style>
|
|
5
|
+
table {
|
|
6
|
+
width: 100%;
|
|
7
|
+
}
|
|
8
|
+
</style>
|
|
9
|
+
|
|
10
|
+
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.
|
|
11
|
+
|
|
12
|
+
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.
|
|
13
|
+
|
|
14
|
+
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.
|
|
15
|
+
|
|
16
|
+
State files are loaded by clicking on the "Folder" icon immediately below the save-state Disk icon. This will bring up a file browser for you to select and load your state file.
|
|
17
|
+
|
|
18
|
+
TIP: State files are a great way for developers to transfer data into / out of VolView for integration with other systems. For example, they can be used to integrate VolView with access control systems, to streamline workflows, or to ingest results from AI systems.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
title: Toolbar
|
|
2
|
+
----
|
|
3
|
+
|
|
4
|
+
<style>
|
|
5
|
+
table {
|
|
6
|
+
width: 100%;
|
|
7
|
+
}
|
|
8
|
+
</style>
|
|
9
|
+
|
|
10
|
+
The three main radiological controls are as following:
|
|
11
|
+
|
|
12
|
+
* Layout: This toolbar button is illustrated below. Use it to choose between four useful window arrangements. As in all things, if you have a particular layout that you would like to see added, please make a feature request on our ["issue tracker"](https://github.com/Kitware/VolView/issues). 
|
|
13
|
+
|
|
14
|
+
* 2D Left mouse button: Window / Level, Pan, Zoom, or Crosshairs: Select these options to control the function of the left mouse button in the 2D windows. 
|
|
15
|
+
|
|
16
|
+
* 2D Annotations: Paint and Ruler: When the ruler tool selected, the left mouse button is used to place and adjust ruler end-markers. Right clicking on a end-marker displays a pop-up menu for deleting that ruler. Switch to the "Annotations" tab to see a list of annotations made to currently loaded data. Select the location icon next to a listed ruler to jump to its slice. Select the trashcan to delete that ruler. When the paint tool is selected, you can paint in any 2D window. Click on the paint tool a second time to bring up a menu of colors and adjust the brush size. 
|
|
17
|
+
|
|
18
|
+
* 3D Crop: Select this tool to adjust the extent of data shown in the 3D rendering. In the 3D window you can pick and move the corner, edge, and side markers to make adjustments. In the 2D windows, grab and move the edges of the bounding box overlaid on the data. 
|
|
19
|
+
|
|
20
|
+
[***Watch the video!***](https://youtu.be/Bj4ijh_VLUQ)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
title: Welcome Screen
|
|
2
|
+
----
|
|
3
|
+
|
|
4
|
+
<style>
|
|
5
|
+
table {
|
|
6
|
+
width: 100%;
|
|
7
|
+
}
|
|
8
|
+
</style>
|
|
9
|
+
|
|
10
|
+

|
|
11
|
+
|
|
12
|
+
* **Tabs** organize the high-level functions.
|
|
13
|
+
* **Data** provides information on the Patient data and non-DICOM data that have been loaded. It also provides access to sample data. The currently display image data is highlighted in blue.
|
|
14
|
+
* **Annotations** lists the ruler and other measures that have been made on the currently loaded data.
|
|
15
|
+
* **Rendering** provides the controls for the 3D cinematic volume rendering.
|
|
16
|
+
|
|
17
|
+
* **Sample Data** presents a variety of DICOM data that can be used to quickly explore the capabilities of VolView. When you select a sample dataset, that data is downloaded from [http://data.kitware.com/](https://data.kitware.com/#collection/586fef9f8d777f05f44a5c86/folder/634713cf11dab81428208e1e).
|
|
18
|
+
|
|
19
|
+
* **Load / Save State** icons are used to restore or create a local file that captures the current configuration of the application and its data. This includes the layout, annotations, cinematic rendering settings, and all other options specified. The local file is in json format, so it provides a basis for integrating VolView with other applications and workflows.
|
|
20
|
+
|
|
21
|
+
* **Notifications and Settings** provide information and error messages and allow you to toggle between a dark or light theme. The number of recently posted notifications will appear on top of the notification icon.
|
|
22
|
+
|
|
23
|
+
* **Central Window** is used to receive DICOM data via drag-and-drop (receives files, folders, or zip files), or you can click within this window to bring up a file browser.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
title: Gallery
|
|
2
|
+
---
|
|
3
|
+
|
|
4
|
+
<style>
|
|
5
|
+
.gallery img {
|
|
6
|
+
width: 32%;
|
|
7
|
+
display: inline-block;
|
|
8
|
+
padding: 5px;
|
|
9
|
+
}
|
|
10
|
+
.gallery br {
|
|
11
|
+
display: none;
|
|
12
|
+
}
|
|
13
|
+
</style>
|
|
14
|
+
|
|
15
|
+
<div class="gallery">
|
|
16
|
+
<a href="./VolView-Overview.jpg"><img alt="Overview" src="./VolView-Overview.jpg"></a>
|
|
17
|
+
<a href="./01-volview-welcome.jpg"><img alt="Welcome" src="./01-volview-welcome.jpg"></a>
|
|
18
|
+
<a href="./01-volview-welcome-notes.jpg"><img alt="Welcome notes" src="./01-volview-welcome-notes.jpg"></a>
|
|
19
|
+
<a href="./02-volview-about.jpg"><img alt="About" src="./02-volview-about.jpg"></a>
|
|
20
|
+
<a href="./02-volview-notifications.jpg"><img alt="Notifications" src="./02-volview-notifications.jpg"></a>
|
|
21
|
+
<a href="./02-volview-settings.jpg"><img alt="Settings" src="./02-volview-settings.jpg"></a>
|
|
22
|
+
<a href="./03-volview-sample-datasets.jpg"><img alt="Sample datasets" src="./03-volview-sample-datasets.jpg"></a>
|
|
23
|
+
<a href="./04-volview-active-data.jpg"><img alt="Active data" src="./04-volview-active-data.jpg"></a>
|
|
24
|
+
<a href="./05-volview-select-data-to-delete.jpg"><img alt="Select data to delete" src="./05-volview-select-data-to-delete.jpg"></a>
|
|
25
|
+
<a href="./06-volview-corner-annotation.jpg"><img alt="Corner annotation" src="./06-volview-corner-annotation.jpg"></a>
|
|
26
|
+
<a href="./07-volview-layout.jpg"><img alt="Layout" src="./07-volview-layout.jpg"></a>
|
|
27
|
+
<a href="./09-volview-layout-3DPrimary.jpg"><img alt="3D primary" src="./09-volview-layout-3DPrimary.jpg"></a>
|
|
28
|
+
<a href="./10-volview-wl-pan-zoom.jpg"><img alt="W/L Pan Zoom" src="./10-volview-wl-pan-zoom.jpg"></a>
|
|
29
|
+
<a href="./10-volview-wl-pan-zoom-notes.jpg"><img alt="W/L Pan Zoom notes" src="./10-volview-wl-pan-zoom-notes.jpg"></a>
|
|
30
|
+
<a href="./11-volview-paint.jpg"><img alt="Paint" src="./11-volview-paint.jpg"></a>
|
|
31
|
+
<a href="./11-volview-paint-notes.jpg"><img alt="Paint notes" src="./11-volview-paint-notes.jpg"></a>
|
|
32
|
+
<a href="./12-volview-paint-options.jpg"><img alt="Paint options" src="./12-volview-paint-options.jpg"></a>
|
|
33
|
+
<a href="./13-volview-crop.jpg"><img alt="Crop" src="./13-volview-crop.jpg"></a>
|
|
34
|
+
<a href="./14-volview-ruler.jpg"><img alt="Ruler" src="./14-volview-ruler.jpg"></a>
|
|
35
|
+
<a href="./15-volview-crosshairs.jpg"><img alt="Crosshairs" src="./15-volview-crosshairs.jpg"></a>
|
|
36
|
+
<a href="./16-volview-rendering.jpg"><img alt="Rendering" src="./16-volview-rendering.jpg"></a>
|
|
37
|
+
<a href="./17-volview-colormap.jpg"><img alt="Colormap" src="./17-volview-colormap.jpg"></a>
|
|
38
|
+
<a href="./17-volview-colormap-notes.jpg"><img alt="Colormap notes" src="./17-volview-colormap-notes.jpg"></a>
|
|
39
|
+
<a href="./17-volview-opacity.jpg"><img alt="Opacity" src="./17-volview-opacity.jpg"></a>
|
|
40
|
+
<a href="./17-volview-opacity-notes.jpg"><img alt="Opacity notes" src="./17-volview-opacity-notes.jpg"></a>
|
|
41
|
+
<a href="./17-volview-opacity2.jpg"><img alt="Opacity 2" src="./17-volview-opacity2.jpg"></a>
|
|
42
|
+
<a href="./18-volview-presets.jpg"><img alt="Presets" src="./18-volview-presets.jpg"></a>
|
|
43
|
+
<a href="./19-volview-color.jpg"><img alt="Color" src="./19-volview-color.jpg"></a>
|
|
44
|
+
<a href="./19-volview-color2.jpg"><img alt="Color 2" src="./19-volview-color2.jpg"></a>
|
|
45
|
+
<a href="./20-volview-lightfollowcamera0.jpg"><img alt="Light follows camera 0" src="./20-volview-lightfollowcamera0.jpg"></a>
|
|
46
|
+
<a href="./20-volview-lightfollowcamera1.jpg"><img alt="Light follows camera 1" src="./20-volview-lightfollowcamera1.jpg"></a>
|
|
47
|
+
<a href="./20-volview-lightfollowcamera2.jpg"><img alt="Light follows camera 2" src="./20-volview-lightfollowcamera2.jpg"></a>
|
|
48
|
+
<a href="./20-volview-lightfollowcamera3.jpg"><img alt="Light follows camera 3" src="./20-volview-lightfollowcamera3.jpg"></a>
|
|
49
|
+
<a href="./21-volview-hybrid0.0.jpg"><img alt="Hybrid @ 0.0" src="./21-volview-hybrid0.0.jpg"></a>
|
|
50
|
+
<a href="./21-volview-hybrid0.5.jpg"><img alt="Hybrid @ 0.5" src="./21-volview-hybrid0.5.jpg"></a>
|
|
51
|
+
<a href="./21-volview-hybrid1.0.jpg"><img alt="Hybrid @ 1.0" src="./21-volview-hybrid1.0.jpg"></a>
|
|
52
|
+
<a href="./21-volview-hybrid-final.jpg"><img alt="Hybrid final" src="./21-volview-hybrid-final.jpg"></a>
|
|
53
|
+
</div>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
layout: index
|
|
2
|
+
description: Open-source and freely available radiological viewer that runs in your web browser and provide photo-realistic, interactive, 3D visualizations.
|
|
3
|
+
subtitle: Cinematic Volume Rendering of DICOM Data in Your Web Browser
|
|
4
|
+
comments: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
div#intro-get-started-wrap
|
|
8
|
+
a(href="https://volview.netlify.app", id="intro-get-started-link") Try VolView
|
|
9
|
+
|
|
10
|
+
ul#intro-feature-list(style="position:relative;top:-50px;")
|
|
11
|
+
li.intro-feature-wrap
|
|
12
|
+
.intro-feature
|
|
13
|
+
.intro-feature-icon
|
|
14
|
+
i.fa.fa-heart
|
|
15
|
+
h3.intro-feature-title
|
|
16
|
+
a(href="https://github.com/kitware/VolView").link Open Source
|
|
17
|
+
p.intro-feature-desc
|
|
18
|
+
| VolView is open source and freely available. It is a standalone
|
|
19
|
+
| Web application that operates as a radiological viewer.
|
|
20
|
+
| Drag-and-drop your DICOM data into VolView to generate
|
|
21
|
+
| interactive cinematic renderings and gain new insights
|
|
22
|
+
| into your research. <br>
|
|
23
|
+
| <br>
|
|
24
|
+
| As open source, VolView can be expanded to integrate with other
|
|
25
|
+
| in-browser or centralized services. We have supported related
|
|
26
|
+
| work involving AR/VR rendering, server-side real-time AI
|
|
27
|
+
| inference, workflow and data management, user-level access control
|
|
28
|
+
| and monitoring, and much more.
|
|
29
|
+
|
|
30
|
+
li.intro-feature-wrap
|
|
31
|
+
.intro-feature
|
|
32
|
+
.intro-feature-icon
|
|
33
|
+
i.fa.fa-life-ring
|
|
34
|
+
h3.intro-feature-title
|
|
35
|
+
a(href="http://www.vtk.org/services/").link Support and Services
|
|
36
|
+
p.intro-feature-desc
|
|
37
|
+
| Kitware offers scientific software research and development services.
|
|
38
|
+
| We can help you customize VolView to create task-specific or
|
|
39
|
+
| branded applications that compliment your innovative ideas.
|
|
40
|
+
| Kitware can also work with you to apply for regulatory approvals
|
|
41
|
+
| for your custom solutions.
|
|
42
|
+
|
|
43
|
+
p.intro-feature-desc DISCLAIMER: The open-source version of VolView is not FDA approved and should not be used for patient care. <br><br>
|
|
Binary file
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<svg width="35" height="34" viewBox="0 0 35 34" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_137_213)">
|
|
3
|
+
<path d="M33.2403 22.7281C33.189 22.8061 33.1376 22.91 33.0606 22.988C31.7509 24.7549 29.0545 25.4824 25.6905 25.0147C25.5364 24.9887 25.3823 24.9628 25.2282 24.9368C23.1995 24.599 20.9911 23.8454 18.7826 22.7281C17.4729 22.0525 16.1633 21.221 14.905 20.2596C13.5439 19.2202 12.3113 18.1029 11.2584 16.9076C9.58926 15.0628 8.35663 13.1139 7.56056 11.2431C6.25089 8.15095 6.25089 5.39662 7.53488 3.6037C8.84455 1.83677 11.4125 1.16118 14.6225 1.65488C16.2146 1.88874 17.9609 2.43441 19.7584 3.23992C21.5303 4.04543 23.3536 5.11079 25.1255 6.46197C28.6693 9.13835 31.34 12.3864 32.7781 15.4525C34.1648 18.3628 34.3445 20.9612 33.2403 22.7281Z" fill="#3EAE2B"/>
|
|
4
|
+
<path d="M33.2404 22.7281C33.189 22.8061 33.1377 22.91 33.0606 22.9879C31.7509 24.7549 29.0546 25.4824 25.6905 25.0147C25.5364 24.9887 25.3824 24.9627 25.2283 24.9368C23.3537 24.547 21.1966 23.8454 18.7827 22.7281C17.473 22.0525 16.1633 21.221 14.905 20.2596C13.544 19.2202 12.3114 18.1029 11.2585 16.9076C8.69052 12.6202 9.2298 7.29345 10.7706 5.60448C12.6452 3.52574 16.9337 3.05802 23.6361 7.60526C29.5425 11.6068 33.7796 19.3761 33.2404 22.7281Z" fill="black" fill-opacity="0.15"/>
|
|
5
|
+
<path d="M30.1331 18.3627C30.1331 18.8564 30.0304 19.2982 29.8506 19.6879C29.7993 19.8179 29.7222 19.9478 29.6195 20.0777C29.2086 20.6493 28.541 21.0131 27.6422 21.195C26.7434 21.3769 25.6648 21.3249 24.4579 21.0911C22.044 20.6234 19.2706 19.3501 16.831 17.5312C16.8053 17.5053 16.7539 17.4793 16.7283 17.4533C14.3657 15.6344 12.5681 13.4257 11.5666 11.373C10.5394 9.26825 10.4624 7.42336 11.3098 6.28006C12.1316 5.13675 13.9035 4.79895 16.189 5.26667C18.4745 5.73439 21.1195 7.00762 23.5334 8.8525C25.9473 10.6974 27.9503 12.932 29.1059 15.0367C29.7993 16.258 30.1331 17.4013 30.1331 18.3627Z" fill="#3EAE2B"/>
|
|
6
|
+
<path d="M29.8506 19.688C29.7992 19.8179 29.7222 19.9479 29.6195 20.0778C29.2086 20.6494 28.5409 21.0132 27.6421 21.1951C26.7433 21.377 25.6648 21.325 24.4578 21.0912C22.0439 20.6234 19.2705 19.3502 16.831 17.5313C16.8053 17.5053 16.7539 17.4793 16.7282 17.4534C13.8778 14.5691 13.7494 9.9699 14.905 8.67069C16.2146 7.5014 18.5258 7.52738 22.763 10.3856C26.3068 12.8022 29.5681 17.2975 29.8506 19.688Z" fill="black" fill-opacity="0.15"/>
|
|
7
|
+
<path d="M26.3068 17.6092C26.1271 17.8431 25.8189 17.999 25.3567 18.077C24.8944 18.1289 24.3038 18.1029 23.6105 17.9211C22.2494 17.5833 20.6059 16.8037 19.0651 15.6344C17.5243 14.4652 16.3431 13.14 15.6754 11.9187C15.3416 11.3211 15.1618 10.7754 15.0848 10.3077C15.0334 9.83996 15.1105 9.52814 15.2902 9.29429C15.47 9.06043 15.7524 8.87854 16.2147 8.82657C16.6512 8.7746 17.2162 8.80059 17.8839 8.95649C18.5259 9.1124 19.2706 9.39822 20.0153 9.78799C20.76 10.1778 21.5561 10.6715 22.3008 11.2691C23.8416 12.4384 25.0742 13.7636 25.7932 14.9589C26.1528 15.5565 26.3582 16.1022 26.4352 16.5699C26.5379 17.0636 26.4609 17.4014 26.3068 17.6092Z" fill="#3EAE2B"/>
|
|
8
|
+
<path d="M27.0001 17.921C26.769 18.5186 26.5379 18.9604 26.1527 19.506C23.8415 22.6241 19.0137 23.0659 15.624 20.4934C12.2343 17.921 11.3612 13.1139 13.6467 9.9958C14.1089 9.42415 14.4427 9.03438 14.982 8.59265C14.8793 8.6706 14.8022 8.74856 14.7252 8.85249C14.3914 9.29423 14.3143 9.8399 14.3914 10.4115C14.4684 10.9832 14.6995 11.6328 15.059 12.2824C15.7781 13.5816 17.0364 15.0108 18.6542 16.232C20.272 17.4533 21.9926 18.2848 23.482 18.6226C24.2267 18.8045 24.9201 18.8564 25.485 18.7785C26.0757 18.7005 26.5893 18.4667 26.9231 18.0249C26.9488 18.0249 26.9745 17.973 27.0001 17.921Z" fill="#0068C7"/>
|
|
9
|
+
<path d="M30.5696 20.1297C30.2615 21.0651 29.1316 22.7801 28.4382 23.5596C24.7917 28.4706 17.1391 29.3281 11.6436 25.1706C6.17386 21.0911 5.17235 12.8021 8.81888 7.86512C9.38383 7.11157 10.334 5.9163 11.1557 5.21472C10.976 5.37063 10.7962 5.55252 10.6421 5.76039C9.51223 7.29346 9.76903 9.52811 10.8219 11.7368C11.9004 13.9714 13.8264 16.31 16.3174 18.2068C17.5757 19.1683 18.911 19.9738 20.272 20.5974C21.6331 21.221 22.9941 21.6887 24.2524 21.9226C25.5364 22.1824 26.7177 22.2344 27.7449 22.0265C28.7721 21.8187 29.6452 21.3769 30.2358 20.5974C30.3899 20.4415 30.4926 20.2856 30.5696 20.1297Z" fill="#0068C7"/>
|
|
10
|
+
<path d="M34.2675 22.5203C33.7025 24.0534 32.6497 25.9502 31.1859 27.6652C25.2796 34.473 15.059 35.7463 7.71463 30.1597C0.395901 24.625 -1.32464 14.4652 3.47747 6.74784C4.55602 5.0069 6.63608 2.95414 7.86871 2.07068C7.84303 2.09666 7.14968 2.74627 6.8672 3.13603C5.30074 5.26674 5.42913 8.41084 6.79016 11.5809C8.15119 14.803 10.7705 18.1809 14.3914 20.9352C16.2146 22.3124 18.1149 23.4037 20.0152 24.2352C21.9155 25.0667 23.8158 25.5864 25.5621 25.8463C29.0545 26.314 32.1361 25.6384 33.7026 23.5077C33.9337 23.1959 34.1391 22.8581 34.2675 22.5203Z" fill="#0068C7"/>
|
|
11
|
+
<path d="M33.5228 15.0888C32.0077 11.8928 29.2343 8.54078 25.6135 5.78645C22.0183 3.03212 18.115 1.34315 14.7509 0.82346C13.544 0.64157 12.3627 0.615586 11.3098 0.745507C11.2585 0.745507 11.2071 0.745507 11.1814 0.771492C11.0274 0.797476 10.8476 0.82346 10.6935 0.849444C10.6679 0.849444 10.6422 0.849444 10.5908 0.875429C10.4881 0.901413 10.3854 0.927397 10.3083 0.953381C10.2056 0.979366 10.1286 1.00535 10.0515 1.03133C9.9745 1.05732 9.89746 1.0833 9.82042 1.10929C9.07571 1.34315 8.40803 1.70692 7.8174 2.17464C7.45788 2.43448 7.14973 2.74629 6.86725 3.13606C5.30078 5.26677 5.42918 8.41086 6.79021 11.5809C8.15124 14.803 10.7706 18.1809 14.3914 20.9353C16.2147 22.3124 18.115 23.4038 20.0153 24.2353C21.9156 25.0668 23.8159 25.5865 25.5621 25.8463C29.0546 26.314 32.1361 25.6384 33.7026 23.5077C33.9337 23.2219 34.1135 22.8841 34.2675 22.5463C35.2177 20.4676 34.8068 17.7912 33.5228 15.0888ZM33.2404 22.7282C33.189 22.8061 33.1376 22.9101 33.0606 22.988C31.7509 24.755 29.0546 25.4825 25.6905 25.0148C25.5364 24.9888 25.3824 24.9628 25.2283 24.9368C23.1996 24.5991 20.9911 23.8455 18.7827 22.7282C17.473 22.0526 16.1633 21.2211 14.905 20.2597C13.544 19.2203 12.3114 18.103 11.2585 16.9077C9.5893 15.0628 8.35667 13.114 7.5606 11.2431C6.25093 8.15102 6.25093 5.39669 7.53492 3.60378C8.84459 1.83685 11.4126 1.16126 14.6225 1.65496C16.2147 1.88881 17.9609 2.43448 19.7585 3.24C21.5304 4.04551 23.3537 5.11086 25.1256 6.46204C28.6694 9.13842 31.3401 12.3865 32.7781 15.4526C34.1648 18.3628 34.3446 20.9613 33.2404 22.7282Z" fill="white"/>
|
|
12
|
+
<path d="M29.8506 14.621C28.6436 12.4124 26.5636 10.0738 24.0726 8.17692C21.5817 6.28007 18.834 4.95487 16.3944 4.46117C14.5711 4.07141 12.8506 4.14936 11.618 4.9029C11.5923 4.9029 11.5666 4.92889 11.5666 4.92889C11.5666 4.92889 11.5409 4.92889 11.5409 4.95487C11.4896 4.98085 11.4382 5.00684 11.4125 5.05881C11.3355 5.11078 11.2584 5.18873 11.1814 5.2407C11.0016 5.3966 10.8219 5.57849 10.6678 5.78637C9.5379 7.31944 9.79469 9.55408 10.8476 11.7627C11.9261 13.9974 13.8521 16.336 16.343 18.2328C17.6013 19.1942 18.9367 19.9998 20.2977 20.6234C21.6587 21.247 23.0198 21.7147 24.2781 21.9486C25.5621 22.2084 26.7433 22.2604 27.7705 22.0525C28.7977 21.8446 29.6708 21.4029 30.2615 20.6234C30.3642 20.4935 30.4669 20.3375 30.5439 20.1816C31.3657 18.6226 30.9291 16.5958 29.8506 14.621ZM29.6195 20.0777C29.2086 20.6494 28.5409 21.0131 27.6421 21.195C26.7433 21.3769 25.6648 21.3249 24.4578 21.0911C22.0439 20.6234 19.2705 19.3501 16.8309 17.5312C14.4171 15.7124 12.5681 13.4517 11.5666 11.373C10.5394 9.26826 10.4624 7.42337 11.3098 6.28007C12.1316 5.13676 13.9035 4.79897 16.189 5.26668C18.4745 5.7344 21.1195 7.00763 23.5334 8.85251C25.9473 10.6974 27.9503 12.932 29.1059 15.0368C29.7992 16.284 30.1331 17.4273 30.1331 18.3887C30.1331 19.0383 29.979 19.61 29.6195 20.0777Z" fill="white"/>
|
|
13
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M27.2056 16.4658C27.1029 15.8942 26.8461 15.2446 26.4609 14.595C25.6905 13.2958 24.4065 11.8926 22.7887 10.6714C21.1965 9.4501 19.5274 8.59262 18.0893 8.25483C17.3703 8.07294 16.7026 8.02097 16.1376 8.09892C15.7011 8.15089 15.2902 8.33278 14.982 8.59262C14.8793 8.67057 14.8023 8.74853 14.7252 8.85246C14.3914 9.2942 14.3144 9.83987 14.3914 10.4115C14.4684 10.9832 14.6996 11.6328 15.0591 12.2824C15.7781 13.5816 17.0364 15.0107 18.6542 16.232C20.2721 17.4533 21.9926 18.2847 23.482 18.6225C24.2268 18.8044 24.9201 18.8564 25.4851 18.7784C26.0757 18.7005 26.5893 18.4666 26.9231 18.0249C26.9488 17.9729 26.9745 17.947 27.0002 17.895C27.2313 17.5052 27.2826 16.9855 27.2056 16.4658ZM26.3068 17.6092C26.1271 17.843 25.8189 17.9989 25.3567 18.0769C24.8944 18.1288 24.3038 18.1029 23.6104 17.921C22.2494 17.5832 20.6059 16.8036 19.0651 15.6344C17.5243 14.4651 16.3431 13.1399 15.6754 11.9186C15.3416 11.321 15.1618 10.7753 15.0848 10.3076C15.0334 9.83987 15.1104 9.52806 15.2902 9.2942C15.47 9.06034 15.7524 8.87845 16.2147 8.82648C16.6512 8.77451 17.2162 8.8005 17.8839 8.9564C18.5259 9.11231 19.2706 9.39813 20.0153 9.7879C20.76 10.1777 21.5561 10.6714 22.3008 11.269C23.8416 12.4383 25.0742 13.7635 25.7932 14.9588C26.1527 15.5564 26.3582 16.1021 26.4352 16.5698C26.5379 17.0635 26.4609 17.4013 26.3068 17.6092Z" fill="white"/>
|
|
14
|
+
</g>
|
|
15
|
+
<defs>
|
|
16
|
+
<clipPath id="clip0_137_213">
|
|
17
|
+
<rect width="34" height="33" fill="white" transform="translate(0.781128 0.66748)"/>
|
|
18
|
+
</clipPath>
|
|
19
|
+
</defs>
|
|
20
|
+
</svg>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<footer id="footer" class="wrapper">
|
|
2
|
+
<div class="inner">
|
|
3
|
+
<div id="footer-copyright">
|
|
4
|
+
© {{ moment(Date.now()).year() }} <a href="{{ config.authorLink }}" target="_blank">{{ config.author }}</a>
|
|
5
|
+
</div>
|
|
6
|
+
|
|
7
|
+
<div id="footer-links">
|
|
8
|
+
<a href="https://github.com/{{ config.github }}" class="footer-link" target="_blank"><i class="fa fa-github-alt"></i></a>
|
|
9
|
+
</div>
|
|
10
|
+
</div>
|
|
11
|
+
<a
|
|
12
|
+
style="position: fixed; background: #00529b; color: white; top: 0; right: 0; height: 70px"
|
|
13
|
+
href="https://www.kitware.com/careers"
|
|
14
|
+
>
|
|
15
|
+
<div style="position: relative; text-align: center;">
|
|
16
|
+
<div
|
|
17
|
+
style="margin-top: 5px; background: url(https://www.cmake.org/wp-content/uploads/2018/09/jobs_icon.png) no-repeat; background-size: 100%; width: 50px; height: 40px; margin: 5px auto 0;"
|
|
18
|
+
></div>
|
|
19
|
+
<span style="padding: 5px 10px">Kitware is Hiring</span>
|
|
20
|
+
</div>
|
|
21
|
+
</a>
|
|
22
|
+
</footer>
|