gitextract_6jojsqhp/ ├── .babelrc ├── .editorconfig ├── .eslintrc.js ├── .github/ │ └── workflows/ │ ├── build-test.yml │ └── publish.yml ├── .gitignore ├── .gitmodules ├── .npmignore ├── .prettierrc ├── CONTRIBUTING.md ├── Copyright.txt ├── LICENSE ├── README.md ├── bin/ │ ├── itk-vtk-viewer-cli.js │ ├── network.js │ └── server.js ├── buildUI.js ├── doc/ │ ├── .gitignore │ ├── config.js │ ├── content/ │ │ ├── api/ │ │ │ └── index.md │ │ ├── config/ │ │ │ └── index.md │ │ ├── docs/ │ │ │ ├── cli.md │ │ │ ├── customizeUI.md │ │ │ ├── embeddedViewer.md │ │ │ ├── imjoy.md │ │ │ ├── index.md │ │ │ ├── shortcuts.md │ │ │ └── viewer.md │ │ ├── index.html │ │ └── index.jade │ ├── data/ │ │ └── menu.yml │ └── tpl/ │ ├── __en__ │ └── __sidebar__ ├── examples/ │ ├── compare-image.html │ ├── cyan-magenta-compare-image.html │ ├── test-conglomerate.html │ ├── test-pointsets.html │ └── test.html ├── karma.conf.js ├── package.json ├── postcss.config.js ├── src/ │ ├── Compression/ │ │ ├── blosc-zarr/ │ │ │ ├── BloscZarr.cxx │ │ │ ├── CMakeLists.txt │ │ │ └── web-build/ │ │ │ ├── BloscZarr.js │ │ │ ├── BloscZarr.umd.js │ │ │ └── BloscZarr.wasm │ │ └── bloscZarrDecompress.js │ ├── Context/ │ │ ├── ImageActorContext.js │ │ ├── ImagesMachineContext.js │ │ ├── LayerActorContext.js │ │ ├── LayersMachineContext.js │ │ ├── MainMachineContext.js │ │ ├── ViewerMachineContext.js │ │ └── WidgetsMachineContext.js │ ├── IO/ │ │ ├── Analyze/ │ │ │ ├── ComputeRanges.worker.js │ │ │ ├── UpdateHistogram.worker.js │ │ │ ├── computeHistograms.js │ │ │ ├── computeRanges.js │ │ │ ├── createRangeHelper.js │ │ │ └── webWorkerPromiseWorkerPool.js │ │ ├── Compare/ │ │ │ ├── .gitignore │ │ │ ├── CMakeLists.txt │ │ │ ├── Compare.cxx │ │ │ ├── createCompareImage.js │ │ │ ├── emscripten-build/ │ │ │ │ ├── Compare.js │ │ │ │ ├── Compare.umd.js │ │ │ │ ├── Compare.umd.wasm │ │ │ │ └── Compare.wasm │ │ │ ├── index.mjs │ │ │ └── package.json │ │ ├── ConglomerateMultiscaleSpatialImage.js │ │ ├── Downsample/ │ │ │ ├── .gitignore │ │ │ ├── CMakeLists.txt │ │ │ ├── Downsample.cxx │ │ │ ├── DownsampleLabelImage.cxx │ │ │ ├── cypress/ │ │ │ │ ├── integration/ │ │ │ │ │ └── load_data_spec.js │ │ │ │ └── plugins/ │ │ │ │ └── index.cjs │ │ │ ├── cypress.json │ │ │ ├── downsample.js │ │ │ ├── emscripten-build/ │ │ │ │ ├── Downsample.js │ │ │ │ ├── Downsample.umd.js │ │ │ │ ├── Downsample.umd.wasm │ │ │ │ ├── Downsample.wasm │ │ │ │ ├── DownsampleLabelImage.js │ │ │ │ ├── DownsampleLabelImage.umd.js │ │ │ │ ├── DownsampleLabelImage.umd.wasm │ │ │ │ └── DownsampleLabelImage.wasm │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ └── styles.css │ │ ├── HttpStore.js │ │ ├── ImageDataFromChunks.worker.js │ │ ├── InMemoryMultiscaleSpatialImage.js │ │ ├── MultiscaleSpatialImage.js │ │ ├── ResampleLabelImage/ │ │ │ ├── .gitignore │ │ │ ├── CMakeLists.txt │ │ │ ├── ResampleLabelImage.cxx │ │ │ ├── emscripten-build/ │ │ │ │ ├── ResampleLabelImage.js │ │ │ │ ├── ResampleLabelImage.umd.js │ │ │ │ ├── ResampleLabelImage.umd.wasm │ │ │ │ └── ResampleLabelImage.wasm │ │ │ ├── index.mjs │ │ │ ├── package.json │ │ │ └── resampleLabelImage.js │ │ ├── ZarrMultiscaleSpatialImage.js │ │ ├── ZarrStoreParser.js │ │ ├── componentTypeToTypedArray.js │ │ ├── composeComponents.js │ │ ├── dimensionUtils.js │ │ ├── dtypeUtils.js │ │ ├── fetchBinaryContent.js │ │ ├── fetchJsonContent.js │ │ ├── itkWasmUtils.js │ │ ├── ndarrayToItkImage.js │ │ ├── ndarrayToPointSet.js │ │ ├── processFiles.js │ │ ├── toMultiscaleSpatialImage.js │ │ └── uploadFileHandler.js │ ├── ImJoyPluginAPI.js │ ├── Rendering/ │ │ ├── Images/ │ │ │ ├── createImageRenderingActor.js │ │ │ ├── createImagesRenderingMachine.js │ │ │ └── makeTransitions.js │ │ ├── Layers/ │ │ │ └── createLayersRenderingMachine.js │ │ ├── Main/ │ │ │ ├── backgroundIsDark.js │ │ │ ├── backgroundIsLight.js │ │ │ └── createMainRenderingMachine.js │ │ ├── VTKJS/ │ │ │ ├── Images/ │ │ │ │ ├── ComposeImage.worker.js │ │ │ │ ├── applyBlendMode.js │ │ │ │ ├── applyCinematicChanged.js │ │ │ │ ├── applyColorMap.js │ │ │ │ ├── applyColorRange.js │ │ │ │ ├── applyColorRangeBounds.js │ │ │ │ ├── applyComponentVisibility.js │ │ │ │ ├── applyComponentWeights.js │ │ │ │ ├── applyGradientOpacity.js │ │ │ │ ├── applyIndependentComponents.js │ │ │ │ ├── applyLabelImageBlend.js │ │ │ │ ├── applyLabelImageWeights.js │ │ │ │ ├── applyLabelNames.js │ │ │ │ ├── applyLookupTable.js │ │ │ │ ├── applyPiecewiseFunction.js │ │ │ │ ├── applyRenderedImage.js │ │ │ │ ├── applySelectedLabel.js │ │ │ │ ├── applyShadow.js │ │ │ │ ├── applyVolumeSampleDistance.js │ │ │ │ ├── assignRenderedImage.js │ │ │ │ ├── assignVisualizedComponents.js │ │ │ │ ├── createImageRenderer.js │ │ │ │ ├── fuseImages.js │ │ │ │ ├── imagesRenderingMachineOptions.js │ │ │ │ ├── mapToColorFunctionRange.js │ │ │ │ ├── mapToPiecewiseFunctionNodes.js │ │ │ │ ├── selectImageLayer.js │ │ │ │ ├── toggleInterpolation.js │ │ │ │ ├── toggleLayerBBox.js │ │ │ │ ├── toggleLayerVisibility.js │ │ │ │ ├── transformLabelImageWeight.js │ │ │ │ ├── updateHistogram.js │ │ │ │ ├── updateLabelImagePiecewiseFunction.js │ │ │ │ └── updateRenderedImage.js │ │ │ ├── Layers/ │ │ │ │ └── layersRenderingMachineOptions.js │ │ │ ├── Main/ │ │ │ │ ├── applyCroppingPlanes.js │ │ │ │ ├── applySlicingPlanes.js │ │ │ │ ├── applyXSlice.js │ │ │ │ ├── applyYSlice.js │ │ │ │ ├── applyZSlice.js │ │ │ │ ├── computeRenderedBounds.js │ │ │ │ ├── createMainRenderer.js │ │ │ │ ├── croppingPlanes.js │ │ │ │ ├── mainRenderingMachineOptions.js │ │ │ │ ├── resetCamera.js │ │ │ │ ├── resetCroppingPlanes.js │ │ │ │ ├── setBackgroundColor.js │ │ │ │ ├── setUnits.js │ │ │ │ ├── takeScreenshot.js │ │ │ │ ├── toggleAnnotations.js │ │ │ │ ├── toggleAxes.js │ │ │ │ ├── toggleCroppingPlanes.js │ │ │ │ ├── toggleRotate.js │ │ │ │ ├── updateFps.js │ │ │ │ ├── updateSlicingPlanes.js │ │ │ │ ├── viewModeVolume.js │ │ │ │ ├── viewModeXPlane.js │ │ │ │ ├── viewModeYPlane.js │ │ │ │ └── viewModeZPlane.js │ │ │ ├── Widgets/ │ │ │ │ ├── DistanceWidget/ │ │ │ │ │ ├── DistanceWidget.js │ │ │ │ │ └── state.js │ │ │ │ ├── HandlesInPixelsImageCroppingWidget.js │ │ │ │ ├── createWidgets.js │ │ │ │ ├── toggleDistanceWidget.js │ │ │ │ └── widgetsRenderingMachineOptions.js │ │ │ ├── cancelAnimation.js │ │ │ ├── createRenderer.js │ │ │ ├── numericalSort.js │ │ │ ├── proxyManagerConfiguration.js │ │ │ ├── render.js │ │ │ ├── requestAnimation.js │ │ │ ├── vtk/ │ │ │ │ ├── AxesLabelsWidget/ │ │ │ │ │ ├── behavior.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── state.js │ │ │ │ ├── ItkVtkViewProxy.js │ │ │ │ ├── OpenGLImageMapperFractional.js │ │ │ │ ├── PointSetRepresentationProxy/ │ │ │ │ │ └── index.js │ │ │ │ ├── SVGMarkerTextRepresentation/ │ │ │ │ │ └── index.js │ │ │ │ ├── SVGRepresentation/ │ │ │ │ │ └── index.js │ │ │ │ ├── SliceOutlineFilter/ │ │ │ │ │ └── index.js │ │ │ │ └── WidgetManagerPickWhileAnimating.js │ │ │ └── vtkJSRenderingMachineOptions.js │ │ ├── Widgets/ │ │ │ └── createWidgetsRenderingMachine.js │ │ ├── createRenderingMachine.js │ │ └── updateLabelMapComponentWeight.js │ ├── UI/ │ │ ├── Images/ │ │ │ ├── createImagesUIMachine.js │ │ │ └── transferFunctionManipulators.js │ │ ├── Layers/ │ │ │ ├── createLayerUIActor.js │ │ │ └── createLayersUIMachine.js │ │ ├── Main/ │ │ │ └── createMainUIMachine.js │ │ ├── Widgets/ │ │ │ └── createWidgetsUIMachine.js │ │ ├── addKeyboardShortcuts.js │ │ ├── createRenderingViewContainers.js │ │ ├── createUIMachine.js │ │ ├── reference-ui/ │ │ │ ├── .babelrc │ │ │ ├── package.json │ │ │ ├── rollup.config.js │ │ │ ├── src/ │ │ │ │ ├── Images/ │ │ │ │ │ ├── applyBlendMode.js │ │ │ │ │ ├── applyColorMap.js │ │ │ │ │ ├── applyColorRange.js │ │ │ │ │ ├── applyColorRangeBounds.js │ │ │ │ │ ├── applyComponentVisibility.js │ │ │ │ │ ├── applyGradientOpacity.js │ │ │ │ │ ├── applyGradientOpacityScale.js │ │ │ │ │ ├── applyHistogram.js │ │ │ │ │ ├── applyImagesContrastSensitiveStyle.js │ │ │ │ │ ├── applyLabelImageBlend.js │ │ │ │ │ ├── applyLabelImageWeights.js │ │ │ │ │ ├── applyLabelNames.js │ │ │ │ │ ├── applyLookupTable.js │ │ │ │ │ ├── applyPiecewiseFunctionGaussians.js │ │ │ │ │ ├── applySelectedLabel.js │ │ │ │ │ ├── applyVolumeSampleDistance.js │ │ │ │ │ ├── applyWindowingReset.js │ │ │ │ │ ├── cinematic.js │ │ │ │ │ ├── createBlendModeSelector.js │ │ │ │ │ ├── createColorRangeInput.js │ │ │ │ │ ├── createComponentSelector.js │ │ │ │ │ ├── createGradientOpacitySlider.js │ │ │ │ │ ├── createImagesInterface.js │ │ │ │ │ ├── createInterpolationButton.js │ │ │ │ │ ├── createLabelImageColorWidget.js │ │ │ │ │ ├── createLabelImageWeightWidget.js │ │ │ │ │ ├── createSampleDistanceSlider.js │ │ │ │ │ ├── createShadowToggle.js │ │ │ │ │ ├── createTransferFunctionEditor.js │ │ │ │ │ ├── createTransferFunctionWidget.js │ │ │ │ │ ├── createVolumeRenderingInputs.js │ │ │ │ │ ├── createWindowLevelReset.js │ │ │ │ │ ├── createWindowLevelToggle.js │ │ │ │ │ ├── imagesUIMachineOptions.js │ │ │ │ │ ├── scaleSelector.js │ │ │ │ │ ├── selectImageComponent.js │ │ │ │ │ ├── throttle.js │ │ │ │ │ ├── toggleInterpolation.js │ │ │ │ │ ├── toggleShadow.js │ │ │ │ │ ├── toggleUseShadow.js │ │ │ │ │ ├── toggleWindowLevel.js │ │ │ │ │ ├── updateAvailableComponents.js │ │ │ │ │ ├── updateImageInterface.js │ │ │ │ │ ├── updateLabelImageInterface.js │ │ │ │ │ └── updateRenderedImageInterface.js │ │ │ │ ├── ItkVtkViewer.module.css │ │ │ │ ├── Layers/ │ │ │ │ │ ├── addLayerUIRow.js │ │ │ │ │ ├── applyLayersContrastSensitiveStyle.js │ │ │ │ │ ├── compareUI.js │ │ │ │ │ ├── createLayerInterface.js │ │ │ │ │ ├── createLayersInterface.js │ │ │ │ │ ├── dataUpdateIndicator.js │ │ │ │ │ ├── extensionToImageIo.js │ │ │ │ │ ├── layerIcon.ts │ │ │ │ │ ├── layerSettings.ts │ │ │ │ │ ├── layersUIMachineOptions.js │ │ │ │ │ ├── selectLayer.js │ │ │ │ │ └── toggleLayerVisibility.js │ │ │ │ ├── Main/ │ │ │ │ │ ├── applyMainContrastSensitiveStyle.js │ │ │ │ │ ├── applySlicingPlanes.js │ │ │ │ │ ├── applyXSlice.js │ │ │ │ │ ├── applyYSlice.js │ │ │ │ │ ├── applyZSlice.js │ │ │ │ │ ├── createAnnotationsButton.js │ │ │ │ │ ├── createAxesButton.js │ │ │ │ │ ├── createBackgroundColorButton.js │ │ │ │ │ ├── createCroppingButtons.js │ │ │ │ │ ├── createFullscreenButton.js │ │ │ │ │ ├── createMainInterface.js │ │ │ │ │ ├── createPlaneSliders.js │ │ │ │ │ ├── createResetCameraButton.js │ │ │ │ │ ├── createRotateButton.js │ │ │ │ │ ├── createScreenshotButton.js │ │ │ │ │ ├── createViewModeButtons.js │ │ │ │ │ ├── createViewPlanesToggle.js │ │ │ │ │ ├── fullscreenMethods.js │ │ │ │ │ ├── mainUIMachineOptions.js │ │ │ │ │ ├── resetCrop.js │ │ │ │ │ ├── toggleAnnotations.js │ │ │ │ │ ├── toggleAxes.js │ │ │ │ │ ├── toggleBackgroundColor.js │ │ │ │ │ ├── toggleCrop.js │ │ │ │ │ ├── toggleCroppingPlanes.js │ │ │ │ │ ├── toggleFullscreen.js │ │ │ │ │ ├── toggleRotate.js │ │ │ │ │ ├── viewModeVolume.js │ │ │ │ │ ├── viewModeXPlane.js │ │ │ │ │ ├── viewModeYPlane.js │ │ │ │ │ └── viewModeZPlane.js │ │ │ │ ├── Widgets/ │ │ │ │ │ ├── applyDistanceWidgetValue.js │ │ │ │ │ ├── applyWidgetsContrastSensitiveStyle.js │ │ │ │ │ ├── createDistanceWidget.js │ │ │ │ │ ├── createWidgetsInterface.js │ │ │ │ │ ├── toggleDistanceWidget.js │ │ │ │ │ ├── viewModeVolume.js │ │ │ │ │ ├── viewModeXPlane.js │ │ │ │ │ ├── viewModeYPlane.js │ │ │ │ │ ├── viewModeZPlane.js │ │ │ │ │ └── widgetsUIMachineOptions.js │ │ │ │ ├── applyCategoricalColorToColorTransferFunction.js │ │ │ │ ├── applyContrastSensitiveStyleToElement.js │ │ │ │ ├── applyGroupVisibility.js │ │ │ │ ├── collapse-ui.ts │ │ │ │ ├── context.ts │ │ │ │ ├── createCategoricalColorIconSelector.js │ │ │ │ ├── createColorMapIconSelector.js │ │ │ │ ├── createInterface.js │ │ │ │ ├── referenceUIMachineOptions.js │ │ │ │ ├── serviceContext.ts │ │ │ │ ├── shims.d.ts │ │ │ │ ├── toggleDarkMode.js │ │ │ │ ├── toggleUICollapsed.js │ │ │ │ └── utils.js │ │ │ └── tsconfig.json │ │ └── styleRenderingViewContainers.js │ ├── UserInterface/ │ │ ├── CategoricalPresetNames.js │ │ ├── Geometries/ │ │ │ ├── createGeometryColorBySelector.js │ │ │ ├── createGeometryColorChooser.js │ │ │ ├── createGeometryColorRangeInput.js │ │ │ ├── createGeometryColorWidget.js │ │ │ ├── createGeometryOpacitySlider.js │ │ │ └── createGeometryRepresentationSelector.js │ │ ├── ItkVtkViewer.module.css │ │ ├── PointSets/ │ │ │ ├── createPointSetColorBySelector.js │ │ │ ├── createPointSetColorChooser.js │ │ │ ├── createPointSetColorRangeInput.js │ │ │ ├── createPointSetColorWidget.js │ │ │ ├── createPointSetOpacitySlider.js │ │ │ ├── createPointSetRepresentationSelector.js │ │ │ └── createPointSetSizeSlider.js │ │ ├── addLogo.js │ │ ├── applyContrastSensitiveStyle.js │ │ ├── checkForWebGL.js │ │ ├── createCategoricalColorIconSelector.js │ │ ├── createColorMapIconSelector.js │ │ ├── createFileDragAndDrop.js │ │ ├── createGeometriesUI.js │ │ ├── createLoadingProgress.js │ │ ├── createPointSetsUI.js │ │ ├── customColorMapIcon.js │ │ ├── emptyContainer.js │ │ ├── getContrastSensitiveStyle.js │ │ ├── getRootContainer.js │ │ ├── hex2rgb.js │ │ ├── index.js │ │ ├── preventDefaults.js │ │ └── rgb2hex.js │ ├── ViewerStore.js │ ├── createViewer.js │ ├── createViewerMachine.js │ ├── imJoyCodecs.js │ ├── index.d.ts │ ├── index.js │ ├── internalUtils.js │ ├── itkConfig.js │ ├── itkConfigCDN.js │ ├── transformBounds.js │ ├── utils.js │ └── viewerMachineOptions.js ├── test/ │ ├── conglomerateTest.js │ ├── convertItkImageToVtkImageTest.js │ ├── createViewerTest.js │ ├── customElementsDefineOverride.js │ ├── downloadData.mjs │ ├── imjoyTest.js │ ├── itkConfigBrowserTest.js │ ├── multiscaleSpatialImageTest.js │ ├── pipelineTest.js │ ├── processFilesTest.js │ ├── run.sh │ ├── test-ui-rollup.config.js │ ├── testUINoPlaneSliders.js │ ├── tests.js │ ├── zarrImageBaselines.js │ └── zarrTest.js ├── tsconfig.json └── webpack.config.js