# OHIF Viewer > OHIF (Open Health Imaging Foundation) Viewer is an open-source, web-based, zero-footprint DICOM viewer platform designed for medical imaging. It provides a highly configurable and extensible framework for building diagnostic quality medical imaging applications. OHIF Viewer supports various imaging formats (primarily DICOM), offers advanced visualization tools, customizable workflows, and integration capabilities with different data sources. The OHIF Viewer is built with a modular architecture that includes extensions, modes, and services. It leverages Cornerstone3D for rendering capabilities and provides a comprehensive framework for building medical imaging applications with features like hanging protocols, segmentation, measurements, and advanced visualization tools. The documentation is organized into the following sections: ## Configuration - [Configuration Files](https://docs.ohif.org/llm/configuration/configurationFiles.md): Comprehensive guide to configuring OHIF Viewer, including data sources, environment variables, advanced options like study prefetching, and detailed explanations of configuration parameters for performance optimization and feature customization. - [Configuration UI](https://docs.ohif.org/llm/configuration/dataSources/configuration-ui.md): Describes interfaces for implementing configurable data sources in OHIF, with details on BaseDataSourceConfigurationAPI and BaseDataSourceConfigurationAPIItem to enable generic UIs for hierarchical data source configuration. - [Configuring Tours in OHIF](https://docs.ohif.org/llm/configuration/tours.md): Guide to implementing interactive guided tours in OHIF using Shepherd.js, including detailed configuration options, step definitions, customization parameters, and examples for creating effective user onboarding experiences. - [Data Source Introduction](https://docs.ohif.org/llm/configuration/dataSources/introduction.md): Introduces OHIF's data structure based on naturalized DICOM JSON format, providing an overview of common data sources available in OHIF and how custom data sources can be implemented. - [DICOM JSON](https://docs.ohif.org/llm/configuration/dataSources/dicom-json.md): Explains how to configure and use the DICOM JSON data source format in OHIF, including structure of the JSON file with study/series/instance metadata, implementation examples, and local deployment instructions. - [DICOMweb](https://docs.ohif.org/llm/configuration/dataSources/dicom-web.md): Comprehensive guide to configuring DICOMweb data sources in OHIF, including setting up local DICOM servers (Orthanc, DCM4CHEE), configurations for PDF, video, and bulkdata handling, and detailed instructions for development environments. - [DICOMweb Proxy](https://docs.ohif.org/llm/configuration/dataSources/dicom-web-proxy.md): Documents the DICOMweb Proxy data source which constructs a dynamic DICOMweb datasource from a configuration JSON file, allowing OHIF to delegate subsequent requests for metadata and images to the configured server. - [Static DICOMweb Files](https://docs.ohif.org/llm/configuration/dataSources/static-files.md): Details how to use the static-wado project to generate and serve optimized static DICOMweb files for enhanced OHIF Viewer performance, with step-by-step instructions for installation, file generation, and viewer configuration. - [URL Parameters](https://docs.ohif.org/llm/configuration/url.md): Reference for OHIF Viewer URL parameters that control WorkList filtering, study/series loading, and viewer behavior, including parameters for filtering by patient name, modality, data sources, specifying initial series/instances, and selecting hanging protocols. ## Deployment - [Authorization and Authentication](https://docs.ohif.org/llm/deployment/authorization.md): Guide to configuring OpenID-Connect authentication in OHIF Viewer, including setup of authorization flows, token handling, and implementation details for securing access to medical imaging data. - [Build for Production](https://docs.ohif.org/llm/deployment/build-for-production.md): Step-by-step guide to building a production-ready version of the OHIF Viewer, including environment setup, code acquisition, dependency restoration, production build creation, and configuration options for deployment. - [Cross-Origin Resource Sharing](https://docs.ohif.org/llm/deployment/cors.md): Detailed explanation of cross-origin security configurations for OHIF Viewer, covering CORS requirements for data source access, iframe embedding, secure contexts, and troubleshooting techniques for proper implementation. - [Custom URL Access/Build](https://docs.ohif.org/llm/deployment/custom-url-access.md): Instructions for hosting the OHIF Viewer on custom URL paths, with two deployment approaches: simple setup for serving the viewer from a subpath with assets at the root, and advanced setup for custom asset paths with detailed configuration steps. - [Deploy Static Assets](https://docs.ohif.org/llm/deployment/static-assets.md): Guide to deploying OHIF Viewer static assets using various hosting options, from simple drag-and-drop methods like Netlify to more advanced cloud platforms like AWS, GCP, and Azure, with step-by-step instructions for each deployment approach. - [Deployment Overview](https://docs.ohif.org/llm/deployment/index.md): Comprehensive guide to deploying the OHIF Viewer as a standalone web application or embedded iframe, covering data source configuration, security considerations, and various deployment options with examples for different hosting environments. - [Docker Deployment](https://docs.ohif.org/llm/deployment/docker/docker.md): Comprehensive guide for deploying OHIF Viewer using Docker, covering pre-built images from Docker Hub, custom image building, configuration options through build arguments and environment variables, and runtime container management. - [Embedding OHIF in an iframe](https://docs.ohif.org/llm/deployment/iframe.md): Guidelines for embedding OHIF Viewer within other applications using iframe integration, explaining configuration requirements for path settings, static builds, and proper setup to ensure WebWorkers, WASM, and WebGL features function correctly. - [Google Cloud Healthcare Integration](https://docs.ohif.org/llm/deployment/google-cloud-healthcare.md): Guide to setting up Google Cloud Healthcare API as a DICOM data source for OHIF, including project creation, API configuration, OAuth authentication setup, and implementation details for connecting the viewer to Google-hosted medical imaging data. - [Microsoft Azure Integration](https://docs.ohif.org/llm/deployment/azure.md): Comprehensive guide for configuring OHIF with Microsoft Azure Healthcare APIs, including step-by-step instructions for Azure AD registration, DICOM service setup, CORS configuration, and OAuth authentication implementation. - [Nginx + Image Archive Setup](https://docs.ohif.org/llm/deployment/nginx--image-archive.md): Tutorial for setting up OHIF Viewer with Nginx and PACS (Orthanc or DCM4CHEE), using Docker for a production-ready system with reverse proxy configuration to securely handle medical imaging data, including installation steps and troubleshooting tips. - [SSL Configuration for Docker](https://docs.ohif.org/llm/deployment/docker/ssl.md): Guide to configuring SSL for OHIF Viewer in Docker deployments, including environment variable setup, certificate mounting, permissions management, and instructions for both CA-signed and self-signed certificate implementation. - [User Account Control](https://docs.ohif.org/llm/deployment/user-account-control.md): Comprehensive guide for implementing user authentication in OHIF using Keycloak, covering setup with both Orthanc and DCM4CHEE, configuration with OAuth2 proxy, SSL implementation, and detailed steps for local and production deployment scenarios. ## Development - [Android & iOS Debugging](https://docs.ohif.org/llm/development/android-ios-debugging.md): Comprehensive guide for debugging OHIF Viewer on mobile devices, covering setup of Android and iOS emulators, step-by-step instructions for connecting Chrome DevTools and Safari Web Inspector, and video tutorials demonstrating the debugging workflow. - [Continuous Integration](https://docs.ohif.org/llm/development/continuous-integration.md): Overview of OHIF's CI/CD setup using CircleCI and Netlify, detailing workflows for pull request checks, optional Docker image publishing, deployment to development/staging/production environments, and the release process for npm packages and documentation. - [Contributing to OHIF](https://docs.ohif.org/llm/development/contributing.md): Guidelines for contributing to the OHIF project, including best practices for submitting pull requests, working with multiple repositories, and advice on creating changes that are more likely to be accepted by the core team. - [Cornerstone3D Integration Testing](https://docs.ohif.org/llm/development/cs3d-integration.md): How to test OHIF against specific Cornerstone3D branches or versions, both locally and in CI. - [Getting Started with OHIF Development](https://docs.ohif.org/llm/development/getting-started.md): Quick start guide for OHIF development, covering repository setup options, branch organization, development environment requirements, project initialization, and steps for building production-ready assets. - [Global Types and Service Extensions](https://docs.ohif.org/llm/development/types.md): Guide to using and extending TypeScript types in OHIF applications, focusing on the withAppTypes utility for component typing, adding custom properties, and properly integrating new services into the global namespace for type safety and code completion. - [Local Library Linking](https://docs.ohif.org/llm/development/link.md): Brief introduction to the concept of local linking for library development in OHIF, explaining how to test libraries in application context before publishing, with reference to Cornerstonejs linking documentation. - [Notes and Requirements for general OHIF behaviour](https://docs.ohif.org/llm/development/notes-requirements.md): Specifies some of the expected behavior of OHIF generally - [OHIF Architecture](https://docs.ohif.org/llm/development/architecture.md): Detailed explanation of OHIF Viewer's architecture, covering the platform's core components, extensions system, modes concept, and the relationships between these elements that enable building flexible and extensible medical imaging applications. - [OHIF Command Line Interface](https://docs.ohif.org/llm/development/ohif-cli.md): Comprehensive guide to the OHIF CLI tool for managing extensions and modes, including commands for creating, linking, adding, removing, and publishing components, with detailed examples and explanations of the underlying configuration system. - [OHIF Development Process](https://docs.ohif.org/llm/development/our-process.md): Detailed explanation of OHIF's issue triage, backlog management, contribution evaluation, and release processes, including categorization of issues, pull request workflow, quality assurance procedures, and continuous integration practices. - [OHIF Development Video Tutorials](https://docs.ohif.org/llm/development/video-tutorials.md): Collection of instructional videos demonstrating key OHIF development workflows, including creating, linking, and publishing modes and extensions, with step-by-step demonstrations of the OHIF CLI and NPM publishing process. - [Playwright End-to-End Testing](https://docs.ohif.org/llm/development/playwright-testing.md): Guide to writing and running end-to-end tests for OHIF Viewer using Playwright, covering test configuration, screenshot verification, simulating user interactions, accessing application services, and using the VSCode extension for test recording. - [Testing OHIF](https://docs.ohif.org/llm/development/testing.md): Comprehensive guide to OHIF's testing approach, covering unit tests and end-to-end tests with detailed instructions for running them, explanation of test data management, and an overview of the project's testing philosophy and best practices. - [Web Workers Implementation Guide](https://docs.ohif.org/llm/development/webWorkers.md): Step-by-step guide for implementing web workers in OHIF to handle computationally intensive tasks in background threads, including worker creation, registration, task execution, progress tracking, and best practices for code organization. ## Faq - [General FAQ](https://docs.ohif.org/llm/faq/general.md): Answers to common questions about OHIF Viewer, including how to report bugs, request features, contact for support or academic collaborations, regulatory compliance status (FDA/CE/HIPAA), and obtaining sample studies. - [How to add a custom icon to the viewport corners](https://docs.ohif.org/llm/faq/add-viewport-icon.md): Learn how to add a custom icon or dropdown to one of the viewport corners in OHIF. - [OHIF Viewer FAQ](https://docs.ohif.org/llm/faq/index.md): Comprehensive list of frequently asked questions about the OHIF Viewer, covering common inquiries about reporting bugs, requesting features, academic collaborations, regulatory status, and obtaining demo studies. - [Technical FAQ](https://docs.ohif.org/llm/faq/technical.md): Technical explanations and solutions for OHIF Viewer implementation challenges, including required metadata fields, handling large volumes for MPR/rendering, dynamically loading measurements, customizing series sorting, and addressing common rendering issues. ## Migration-guide - [3.10 to 3.11 Migration Guide](https://docs.ohif.org/llm/migration-guide/3p10-to-3p11/index.md) - [3.12 to 3.13 Migration Guide](https://docs.ohif.org/llm/migration-guide/3p12-to-3p13/index.md) - [3.8 -> 3.9](https://docs.ohif.org/llm/migration-guide/3p8-to-3p9/index.md): Migration guide for upgrading from OHIF 3.8 to 3.9, covering segmentation architecture changes, renamings, data sources, measurements, viewport action corners, state sync service, RT structure improvements, UI changes, and other refactorings. - [Button](https://docs.ohif.org/llm/migration-guide/3p9-to-3p10/3-UI/2a-Migration-3p10-Button.md): Migration guide for Button components in OHIF 3.10, explaining the transition from @ohif/ui to @ohif/ui-next, the replacement of ButtonEnums with string-based variants, and changes to IconButton, ButtonGroup, and styling approach. - [Colors](https://docs.ohif.org/llm/migration-guide/3p9-to-3p10/3-UI/1a-Colors.md): Migration guide for OHIF 3.10's new color system, explaining the transition from custom color names to a semantic color palette using CSS variables, with detailed mapping of old color classes to new Tailwind equivalents. - [Commands](https://docs.ohif.org/llm/migration-guide/3p9-to-3p10/1-General/commands.md): Migration guide for commands in OHIF 3.10, covering the replacement of deleteMeasurement with removeMeasurement and setSourceViewportForReferenceLinesTool with the more generic setViewportForToolConfiguration command. - [Customization Service](https://docs.ohif.org/llm/migration-guide/3p9-to-3p10/2-CustomizationService/index.md): Migration guide for OHIF's Customization Service from 3.9 to 3.10, covering unified customization getters, simplified registration, new commands, renamed customizations, and updated patterns for modifying UI components. - [Data Sources](https://docs.ohif.org/llm/migration-guide/3p8-to-3p9/3-DataSources.md): Migration guide for BulkDataURI configuration changes in OHIF 3.9, explaining the transition from a simple boolean flag to a more flexible configuration object with additional control options. - [formatDICOMDate options object](https://docs.ohif.org/llm/migration-guide/3p12-to-3p13/format-dicom-date.md) - [General](https://docs.ohif.org/llm/migration-guide/3p8-to-3p9/0-general.md): General migration changes from OHIF 3.8 to 3.9, including removing SharedArrayBuffer requirements, React 18 updates, Polyfill removal, webpack changes, scroll utility relocation, Crosshairs improvements, and toolbar button evaluation enhancements. - [General](https://docs.ohif.org/llm/migration-guide/3p9-to-3p10/1-General/general-m.md): General migration changes from OHIF 3.9 to 3.10, including Node.js version update, HTML template modifications, bundled Google Fonts, docs updates, faster development builds with rsbuild, and webpack configuration changes for AI segmentation support. - [Hotkeys](https://docs.ohif.org/llm/migration-guide/3p9-to-3p10/1-General/hotkeys.md): Migration guide for hotkeys management in OHIF 3.10, explaining the transition from defining hotkeys in mode factory to using the customizationService, with examples of replacing, adding, and modifying hotkey bindings. - [Hydration](https://docs.ohif.org/llm/migration-guide/3p10-to-3p11/hydration.md): Migration guide for OHIF 3.11's hydration system changes, including the transition to a centralized hydration dialog and command-based hydration for secondary display sets. - [Icons](https://docs.ohif.org/llm/migration-guide/3p9-to-3p10/3-UI/2-Migration-3p10-Icons.md): Migration guide for OHIF 3.10's Icon component updates, covering the transition from @ohif/ui to @ohif/ui-next with new PascalCase naming conventions, legacy fallback options, and a comprehensive renaming table for all icons. - [Input](https://docs.ohif.org/llm/migration-guide/3p9-to-3p10/3-UI/3-Migration-3p10-Input.md): Migration guide for input components in OHIF 3.10, covering the transition from Input, InputNumber, InputRange, InputDoubleRange and others to the new Numeric component system and updated input patterns in @ohif/ui-next. - [Introduction](https://docs.ohif.org/llm/migration-guide/3p9-to-3p10/3-UI/1-Introduction.md): Introduction to UI changes in OHIF 3.10, covering the migration of the image viewer to the @ohif/ui-next library, a complete rewrite of UI components offering extensibility, accessibility, and a modern design, with guidance on updating custom panels. - [Measurements](https://docs.ohif.org/llm/migration-guide/3p8-to-3p9/4-Measurements.md): Migration guide for measurement changes in OHIF 3.9, covering the new structured 'displayText' object with primary and secondary arrays for better organization, and the renaming of 'selected' property to 'isSelected'. - [Migration Guide](https://docs.ohif.org/llm/migration-guide/3p11-to-3p12/index.md) - [Migration Guide from 2.x to 3.5](https://docs.ohif.org/llm/migration-guide/from-v2.md): Comprehensive migration guide for upgrading from OHIF 2.x to 3.5, covering architectural changes, UI improvements, extensions, modes, cornerstone3D integration, configuration changes, and build process updates. - [Migration Guide from 3.7 to 3.8](https://docs.ohif.org/llm/migration-guide/from-3p7-to-3p8.md): Migration guide for upgrading from OHIF 3.7 to 3.8, covering changes to toolbar button definitions, active tool handling, button evaluators, tool listeners, leftPanel/rightPanel naming, URL parameters, UI components, and refactoring of enums. - [Migration Guide from 3.9 to 3.10 beta](https://docs.ohif.org/llm/migration-guide/3p9-to-3p10/index.md): Migration guide for upgrading from OHIF 3.9 to 3.10 beta, covering general changes, customization service improvements, UI component upgrades, command handling, hotkey updates, routing changes, and testing strategies. - [Migration Guides Overview](https://docs.ohif.org/llm/migration-guide/index.md): Introduction to OHIF migration guides covering the upgrade paths between different versions of the platform, with links to version-specific guides for migrating from one OHIF version to another. - [New Architecture](https://docs.ohif.org/llm/migration-guide/3p8-to-3p9/1-segmentation/1-Architecture.md): Overview of the new viewport-centric segmentation architecture in OHIF 3.9, which replaces the previous toolGroup-centric approach and introduces clearer separation between segmentation data and its visual representation. - [New useIconPresentation hook](https://docs.ohif.org/llm/migration-guide/3p10-to-3p11/ui.md): Migration guide for OHIF 3.11's UI changes, including the transition from `ViewportActionCornersService` to `ToolbarService` and the introduction of `useToolbar` hook. - [other](https://docs.ohif.org/llm/migration-guide/3p10-to-3p11/other.md): Migration guide for OHIF 3.11 additional changes - [Other Changes](https://docs.ohif.org/llm/migration-guide/3p8-to-3p9/9-other.md): Migration guide for additional changes in OHIF 3.9, covering external library loading with browserImport function, the pluginConfig.json format for dynamic imports, and improvements to viewport navigation using ViewReference methods. - [Other Changes](https://docs.ohif.org/llm/migration-guide/3p8-to-3p9/1-segmentation/6-segmentationserice-other.md): Migration guide for additional segmentation service changes in OHIF 3.9, covering updates to addOrUpdateSegmentation with new data structures, loadSegmentationsForViewport, highlightSegment, and jumpToSegmentCenter methods with viewport-centric approach. - [Playwright viewport screenshot scope](https://docs.ohif.org/llm/migration-guide/3p12-to-3p13/playwright-viewport-screenshots.md) - [Refactoring](https://docs.ohif.org/llm/migration-guide/3p8-to-3p9/8-Refactorings.md): Migration guide for refactored components in OHIF 3.9, including the move of PanelSegmentation from cornerstone-dicom-seg extension to cornerstone extension, centralization of dialog utilities, and improved customization ID structure for better modularity. - [Renamings](https://docs.ohif.org/llm/migration-guide/3p8-to-3p9/2-Renamings.md): Migration guide for renamed components in OHIF 3.9, including the Panel Measurements name change from 'measure' to 'panelMeasurement' and addIcon utility changes to support both UI packages. - [routerBaseName](https://docs.ohif.org/llm/migration-guide/3p9-to-3p10/1-General/routerBaseName.md): Migration guide for router configuration in OHIF 3.10, covering the updated default behavior of routerBasename and its interaction with PUBLIC_URL, with scenario-based examples for both root and subpath hosting. - [RTSTRUCT](https://docs.ohif.org/llm/migration-guide/3p8-to-3p9/6-RTSTRUCT.md): Migration guide for RT Structure Set rendering in OHIF 3.9, explaining the transition from VTK-based rendering to SVG-based rendering for improved stability and speed while maintaining stack viewports instead of converting to volume viewports. - [Segmentation](https://docs.ohif.org/llm/migration-guide/3p8-to-3p9/1-segmentation/index.md): Migration guide for segmentation architecture changes in OHIF 3.9, covering the shift from tool group-centric to viewport-centric architecture to support advanced visualization capabilities and more flexible segmentation handling. - [Segmentation Creation](https://docs.ohif.org/llm/migration-guide/3p8-to-3p9/1-segmentation/4-segmentationserice-creation.md): Migration guide for segmentation creation methods in OHIF 3.9, covering renamed methods like createLabelmapForViewport and createLabelmapForDisplaySet, updated parameter structures, and transition from tool group to viewport-centric approach. - [Segmentation Representations](https://docs.ohif.org/llm/migration-guide/3p8-to-3p9/1-segmentation/3-segmentationserice-representation.md): Migration guide for segmentation representation management in OHIF 3.9, explaining the transition from toolGroup-based to viewport-centric representation handling, and introducing the new specifier pattern for more flexible API usage. - [Segmentation Table](https://docs.ohif.org/llm/migration-guide/3p9-to-3p10/3-UI/6-Migration-3p10-SegmentationTable.md): Migration guide for the refactored SegmentationTable component in OHIF 3.10, covering changes to the context system, compound component pattern adoption, replacement of SelectorHeader, and introduction of segment statistics features. - [SegmentationService API](https://docs.ohif.org/llm/migration-guide/3p8-to-3p9/1-segmentation/2-segmentationService-basic.md): Detailed guide to the SegmentationService API changes in OHIF 3.9, covering the transition from toolGroup to viewport-centric segmentation management, updates to key methods like getActiveSegmentation, setActiveSegmentation, and addSegment. - [SegmentationService API change](https://docs.ohif.org/llm/migration-guide/3p12-to-3p13/segmentation-service.md) - [SegmentationService Modifications](https://docs.ohif.org/llm/migration-guide/3p8-to-3p9/1-segmentation/4-segmentationserice-modification.md): Migration guide for segmentation representation management API changes in OHIF 3.9, showing how to transition from tool group-based methods to viewport-centric approaches for adding, removing, and querying segmentation representations. - [SegmentationService Style](https://docs.ohif.org/llm/migration-guide/3p8-to-3p9/1-segmentation/5-segmentationserice-style.md): Migration guide for segmentation styling API changes in OHIF 3.9, covering the transition to viewport-specific visibility controls, new style specification system using the specifier pattern, and updated methods for setting colors and toggling visibility. - [Select](https://docs.ohif.org/llm/migration-guide/3p9-to-3p10/3-UI/4a-Migration-3p10-Select.md): Migration guide for Select components in OHIF 3.10, explaining the transition from @ohif/ui to @ohif/ui-next, with details on the new Select.Root, Select.Trigger, Select.Content, and Select.Item structure replacing the old dropdown approach. - [StateSyncService](https://docs.ohif.org/llm/migration-guide/3p8-to-3p9/5-StateSyncService.md): Migration guide for transitioning from StateSyncService to Zustand stores in OHIF 3.9, covering all store types including LutPresentationStore, PositionPresentationStore, ViewportGridStore, and more with examples of old and new API usage. - [Study list paging and the query limit](https://docs.ohif.org/llm/migration-guide/3p12-to-3p13/data-source-paging.md) - [Switch](https://docs.ohif.org/llm/migration-guide/3p9-to-3p10/3-UI/4a-Migration-3p10-Switch.md): Migration guide for Switch component in OHIF 3.10, covering the transition from custom Toggle and CinePlayPauseButton components to the standardized Switch component, with details on prop changes and usage patterns. - [Tests](https://docs.ohif.org/llm/migration-guide/3p9-to-3p10/3-UI/10-Migration-3p10-Tests.md): Migration guide for test updates in OHIF 3.10, covering changes to how tools are identified and tested, including the transition from class-based to data-attribute-based selection in Cypress tests. - [Toolbar](https://docs.ohif.org/llm/migration-guide/3p9-to-3p10/3-UI/5-Migration-3p10-Toolbar.md): Migration guide for toolbar components in OHIF 3.10, covering the new uiType values (ohif.toolButton and ohif.toolButtonList), section-based definitions replacing nested structures, ToolBox updates, and changes to tool option handlers. - [toolbarService](https://docs.ohif.org/llm/migration-guide/3p10-to-3p11/toolbarService.md): Migration guide for OHIF 3.11's toolbar service changes, including the transition from `ViewportActionCornersService` to `ToolbarService` - [Tooltip](https://docs.ohif.org/llm/migration-guide/3p9-to-3p10/3-UI/4-Migration-3p10-Tooltip.md): Migration guide for Tooltip components in OHIF 3.10, explaining the new composable structure with TooltipTrigger and TooltipContent, and replacement of TooltipClipboard with the Clipboard component. - [Tours and Onboarding](https://docs.ohif.org/llm/migration-guide/3p9-to-3p10/3-UI/7-Migration-3p10-Tours.md): Migration guide for Tours and Onboarding features in OHIF 3.10, explaining the transition from defining tours directly in window.config.tours to using the customization service, enabling mode-specific tours and better organization. - [UI](https://docs.ohif.org/llm/migration-guide/3p8-to-3p9/7-UI.md): Migration guide for UI changes in OHIF 3.9, covering the new UI components from @ohif/ui-next, UINotificationService updates with Sonner integration, viewport pane Tailwind class changes, Header component refactoring, and managing both UI libraries. - [uiDialogService](https://docs.ohif.org/llm/migration-guide/3p9-to-3p10/3-UI/8-Migration-3p10-DialogService.md): Migration guide for uiDialogService in OHIF 3.10, covering the transition from create/dismiss to show/hide methods, changes to dialog definition structure, and updates to utility functions like callInputDialog and colorPickerDialog. - [uiModalService](https://docs.ohif.org/llm/migration-guide/3p9-to-3p10/3-UI/9-Migration-3p10-ModalService.md): Migration guide for the uiModalService in OHIF 3.10, covering props that remain unchanged, renamed props (containerDimensions to containerClassName), removed props (movable, isOpen, contentDimensions), and automatic handling of modal closing. - [updateStoredPositionPresentation](https://docs.ohif.org/llm/migration-guide/3p10-to-3p11/commands.md): Migration guide for OHIF 3.11's different commands - [viewport-action-menu](https://docs.ohif.org/llm/migration-guide/3p10-to-3p11/viewport-action-menu.md): Migration guide for OHIF 3.11's viewport corners customization changes, including the transition from individual item configurations to location-based arrays and the removal of index priorities. - [ViewportActionCorner](https://docs.ohif.org/llm/migration-guide/3p8-to-3p9/4-ViewportActionCorner.md): Migration guide for ViewportActionCornerService in OHIF 3.9, introducing the new addComponent and addComponents methods that provide more reliable positioning of multiple components within viewport corners. - [WorkList route rename](https://docs.ohif.org/llm/migration-guide/3p12-to-3p13/work-list.md) ## Platform - [Advanced Customization](https://docs.ohif.org/llm/platform/services/customization-service/advanced.md): Documentation for advanced OHIF customization techniques, including inheritance patterns, transform functions, and dynamic assembly of customizations to create sophisticated configurations across the platform. - [Browser Support](https://docs.ohif.org/llm/platform/browser-support.md): Documentation of OHIF's browser compatibility standards, including supported browsers (IE11, Firefox, Chrome, Safari, Edge), transpilation and polyfill strategies, and development priorities focused on modern evergreen browsers. - [CINE Service](https://docs.ohif.org/llm/platform/services/ui/cine-service.md): Documentation for OHIF's CINE Service, which provides animation capabilities for scrolling through image stacks at configurable frame rates, enabling dynamic review of multi-frame image series. - [Commands Manager](https://docs.ohif.org/llm/platform/managers/commands.md): Documentation for the CommandsManager class which tracks named functions scoped to specific contexts, allowing OHIF to execute commands with appropriate context prioritization across the application. - [Commands Module](https://docs.ohif.org/llm/platform/extensions/modules/commands.md): Documentation for OHIF Commands Module, which allows extensions to register functions that can be called by tools, UI components, or hotkeys, with context-specific implementations and flexible command definitions. - [Context Menu Customization](https://docs.ohif.org/llm/platform/services/customization-service/contextMenu.md): Documentation for customizing OHIF's context menus, including defining menu structures and click interactions specific to different contexts like the Cornerstone viewport. - [Context Module](https://docs.ohif.org/llm/platform/extensions/modules/contextModule.md): Documentation for OHIF Context Module, which enables component communication via React Context, allowing viewport and panel components to share state and synchronize through a common provider mechanism. - [Custom Routes](https://docs.ohif.org/llm/platform/services/customization-service/customRoutes.md): Documentation for creating custom routes in OHIF, allowing extensions to define new URL paths and React components to extend the application with additional pages and navigation options. - [Customization Service](https://docs.ohif.org/llm/platform/services/customization-service/customizationService.md): Documentation for OHIF's Customization Service, which provides a flexible framework for configuring and overriding viewer components across different scopes (default, mode, global), supporting dynamic customization of UI elements and behaviors. - [Data Services Overview](https://docs.ohif.org/llm/platform/services/data/index.md): Overview of OHIF's data services architecture, which replaced the Redux store with a more modular approach using service-specific state management and a pub/sub pattern for communication between components. - [Data Source Module](https://docs.ohif.org/llm/platform/extensions/modules/data-source.md): Documentation for OHIF Data Source Module, which defines ways to fetch and map data into OHIF's native format, covering built-in sources like dicomweb and dicomjson, and explaining how to create custom data sources for proprietary backends. - [DICOM Metadata Store](https://docs.ohif.org/llm/platform/services/data/DicomMetadataStore.md): Documentation for OHIF's DicomMetadataStore service, which provides centralized storage and retrieval functions for DICOM metadata with hierarchical organization of studies, series, and instances. - [DisplaySet Service](https://docs.ohif.org/llm/platform/services/data/DisplaySetService.md): Documentation for OHIF's DisplaySetService, which converts instance metadata into displayable sets for visualization, allowing dynamic creation, updating, and management of display sets from various data sources. - [Environment Variables](https://docs.ohif.org/llm/platform/environment-variables.md): Documentation of the environment variables used in OHIF during build time to configure application behavior, including application settings, internationalization options, and methods for setting these variables. - [Extension Installation](https://docs.ohif.org/llm/platform/extensions/installation.md): Instructions for installing external OHIF extensions using the OHIF CLI tool, which allows adding both local and published extensions from NPM to the viewer application. - [Extension Lifecycle Hooks](https://docs.ohif.org/llm/platform/extensions/lifecycle.md): Documentation for OHIF extension lifecycle hooks including preRegistration, onModeEnter, and onModeExit, which allow extensions to initialize resources, handle mode transitions, and clean up data when needed. - [Extension Manager](https://docs.ohif.org/llm/platform/managers/extension.md): Documentation for the ExtensionManager class which aggregates and exposes extension modules throughout the OHIF application, manages data sources, and provides a centralized registry for accessing extension functionality. - [Hanging Protocol Module](https://docs.ohif.org/llm/platform/extensions/modules/hpModule.md): Documentation for OHIF Hanging Protocol Module, which controls image arrangement in viewports based on matching rules, with capabilities for layout configuration, viewport settings, synchronization, and advanced study comparison workflows. - [Hanging Protocol Service](https://docs.ohif.org/llm/platform/services/data/HangingProtocolService.md): Documentation for OHIF's HangingProtocolService, which manages the automatic arrangement of medical images in viewports based on matching criteria, with support for custom attributes, synchronization, and display set selection. - [Hooks](https://docs.ohif.org/llm/platform/hooks/index.md): List of React hooks available in the platform, these are custom hooks that are used to access the state of the platform - [Hotkeys Manager](https://docs.ohif.org/llm/platform/managers/hotkeys.md): Documentation for the HotkeysManager class which handles keyboard shortcut bindings to commands, allowing configuration of global and mode-specific keyboard shortcuts with user customization capabilities. - [Internationalization](https://docs.ohif.org/llm/platform/internationalization.md): Documentation of OHIF's internationalization (i18n) implementation, including how to change languages, extend existing languages, add new languages, and contribute translations, using the @ohif/i18n package powered by i18next. - [Layout Template Module](https://docs.ohif.org/llm/platform/extensions/modules/layout-template.md): Documentation for OHIF Layout Template Module, which defines the structural organization of the viewer interface, controlling toolbar positioning, panel arrangement, and viewport grid placement through React components. - [Managers Introduction](https://docs.ohif.org/llm/platform/managers/index.md): Overview of OHIF's manager system, which handles critical application infrastructure including extension registration, service management, command execution, and hotkey binding to coordinate functionality across the platform. - [Measurement Service](https://docs.ohif.org/llm/platform/services/data/MeasurementService.md): Documentation for OHIF's MeasurementService, which handles annotation representation with extensible sources and mappers, supporting various measurement tools and allowing custom implementations beyond the built-in CornerstoneTools integration. - [Measurements Customization](https://docs.ohif.org/llm/platform/services/customization-service/Measurements.md): Documentation for customizing OHIF's measurement tools and displays, including how to modify display formats, annotation behaviors, and tracking interfaces for medical imaging measurements. - [Mode Installation](https://docs.ohif.org/llm/platform/modes/installation.md): Documentation for installing OHIF Modes, including how to use the OHIF CLI to add both local and NPM-published modes to extend the viewer with custom clinical workflows. - [Mode Lifecycle Hooks](https://docs.ohif.org/llm/platform/modes/lifecycle.md): Documentation for OHIF Mode's lifecycle hooks (onModeInit, onModeEnter, and onModeExit), which allow customization of initialization, resource setup, and cleanup when entering or exiting viewer modes. - [Mode Routes](https://docs.ohif.org/llm/platform/modes/routes.md): Documentation for OHIF Mode routes, which define URL paths, initialization logic, and layout templates for specific viewer workflows, allowing multiple modes to coexist within a single application. - [Mode Validity](https://docs.ohif.org/llm/platform/modes/validity.md): Documentation for OHIF Mode validity checks, which determine when specific modes should be available for particular studies based on modalities, tags, or custom logic to ensure appropriate workflows for different types of imaging studies. - [Modes Introduction](https://docs.ohif.org/llm/platform/modes/index.md): Overview of OHIF Modes, which are specialized viewer configurations for specific clinical workflows, allowing multiple purpose-specific applications to coexist within a single OHIF deployment. - [Multi Monitor Service](https://docs.ohif.org/llm/platform/services/data/MultiMonitorService.md): Documentation for OHIF's MultiMonitorService, which provides basic support for opening and managing multiple viewer windows, including split-screen options and cross-window communication capabilities. - [OHIF Extension Manager](https://docs.ohif.org/llm/platform/extensions/extension.md): Documentation for OHIF's ExtensionManager class, which manages the registration and access of extensions, providing methods to retrieve module entries, access data sources, and handle extension configurations. - [OHIF Extensions Introduction](https://docs.ohif.org/llm/platform/extensions/index.md): Comprehensive introduction to the OHIF viewer extension system, explaining how extensions provide modular functionality through different module types, and how they're configured and accessed in modes to build customized viewer experiences. - [OHIF Services](https://docs.ohif.org/llm/platform/services/index.md): Overview of OHIF's services architecture, which provides modular, concern-specific code components that manage state and operations throughout the application, including both data services and UI services that follow a pub/sub pattern to reduce coupling. - [Panel Module](https://docs.ohif.org/llm/platform/extensions/modules/panel.md): Documentation for OHIF Panel Module, which provides UI components for the application's side panels, allowing extensions to contribute content that appears in left and right sidebars with proper event triggering and state management. - [Panel Service](https://docs.ohif.org/llm/platform/services/data/PanelService.md): Documentation for OHIF's PanelService, which manages the activation and display of side panels registered via extension modules, with support for explicit activation or event-triggered display of panels. - [Publish-Subscribe Pattern](https://docs.ohif.org/llm/platform/services/pubsub.md): Documentation of the publish-subscribe pattern implementation in OHIF, which enables event-based communication between services, allowing components to subscribe to events and receive updates when they occur, reducing direct dependencies between modules. - [PWA vs Packaged Application](https://docs.ohif.org/llm/platform/pwa-vs-packaged.md): Explanation of OHIF's primary build process for Progressive Web Applications (PWAs), detailing how the application is built as a set of static assets with service worker support for enhanced performance across devices and network conditions. - [Scope of Project](https://docs.ohif.org/llm/platform/scope-of-project.md): Overview of the OHIF Viewer's scope as a web-based medical imaging viewer that functions as a "dumb client," explaining its capabilities as a Progressive Web Application (PWA), the separation of data from the viewer, and clarification about offline capabilities. - [Segmentation Customization](https://docs.ohif.org/llm/platform/services/customization-service/Segmentation.md): Documentation for customizing OHIF's segmentation tools and visualization options, including configuration for segment rendering, color schemes, and interaction behaviors for medical image segmentation workflows. - [Segmentation Service](https://docs.ohif.org/llm/platform/services/data/SegmentationService.md): Documentation for OHIF's SegmentationService, which provides tools for creating, managing, and interacting with image segmentations, including labelmap creation, segment operations, and visualization controls. - [Service Manager](https://docs.ohif.org/llm/platform/managers/service.md): Documentation for the ServicesManager class which provides central registration and access to application services, with details on built-in services, service architecture, lifecycle management, and implementation of custom services. - [SOP Class Handler Module](https://docs.ohif.org/llm/platform/extensions/modules/sop-class-handler.md): Documentation for OHIF SOP Class Handler Module, which processes specific DICOM SOP classes into displayable sets, supporting various medical imaging formats and defining how different types of DICOM data are prepared for viewing. - [Study Browser Customization](https://docs.ohif.org/llm/platform/services/customization-service/StudyBrowser.md): Documentation for customizing OHIF's Study Browser component, including configuration options for thumbnails, sorting functions, and display formats to enhance study navigation and selection workflows. - [SyncGroup Service](https://docs.ohif.org/llm/platform/services/data/SyncGroupService.md): Documentation for OHIF's SyncGroupService, which manages synchronization between multiple viewports based on various criteria like camera position, window level, and slice position, with both hanging protocol and manual configuration options. - [Theming the OHIF Viewer](https://docs.ohif.org/llm/platform/themeing.md): Documentation on customizing the visual appearance of the OHIF Viewer using Tailwind CSS and white-labeling capabilities, including how to modify the color scheme, add custom layouts via the LayoutTemplateModule, and replace the application logo with custom branding. - [Toolbar Module](https://docs.ohif.org/llm/platform/extensions/modules/toolbar.md): Documentation for OHIF Toolbar Module, which provides UI components and evaluators for the application's toolbar, supporting custom button types, advanced state management, and conditional rendering based on viewport and modality requirements. - [Toolbar Service](https://docs.ohif.org/llm/platform/services/data/ToolbarService.md): Documentation for OHIF's ToolbarService, which manages the viewer's toolbar UI components, including button creation, section organization, and command execution, with support for nested dropdowns and state management. - [ToolGroup Service](https://docs.ohif.org/llm/platform/services/data/ToolGroupService.md): Documentation for OHIF's ToolGroupService, which manages tool groups and their associated tools, allowing organization and control of measurement, annotation, and manipulation tools across different viewports. - [UI Dialog Service](https://docs.ohif.org/llm/platform/services/ui/ui-dialog-service.md): Documentation for OHIF's UI Dialog Service, which provides streamlined dialog windows for user attention, input collection, and information display, with methods for creating and dismissing multiple dialogs throughout the application. - [UI Modal Service](https://docs.ohif.org/llm/platform/services/ui/ui-modal-service.md): Documentation for OHIF's UI Modal Service, which enables displaying centered, non-draggable modal windows for focused user interaction, with support for custom components and content throughout the application. - [UI Notification Service](https://docs.ohif.org/llm/platform/services/ui/ui-notification-service.md): Documentation for OHIF's UI Notification Service, which provides a standardized way to display non-intrusive, contextual notifications for timely and relevant information to users throughout the application. - [UI Services Overview](https://docs.ohif.org/llm/platform/services/ui/index.md): Overview of OHIF's UI services architecture, which enables consistent UI interactions across the application through React context providers and service implementations, allowing extensions to leverage components like modals, notifications, and dialogs. - [UI Viewport Dialog Service](https://docs.ohif.org/llm/platform/services/ui/ui-viewport-dialog-service.md): Documentation for OHIF's UI Viewport Dialog Service, which creates modal dialogs inside specific viewports for contextual user interactions, supporting different types of messages and action buttons for user input. - [useDynamicMaxHeight](https://docs.ohif.org/llm/platform/hooks/useDynamicMaxHeight.md): A React hook that calculates the maximum height for an element based on its position in the viewport, with automatic recalculation on window resize or data changes. - [useMeasurements](https://docs.ohif.org/llm/platform/hooks/useMeasurements.md): A React hook that provides mapped measurements from the measurement service with automatic updates when measurements change. - [useMeasurementTracking](https://docs.ohif.org/llm/platform/hooks/useMeasurementTracking.md): A React hook that provides measurement tracking information for a specific viewport, including tracking state and tracked measurement UIDs. - [usePatientInfo](https://docs.ohif.org/llm/platform/hooks/usePatientInfo.md): A React hook that provides patient information from the active display sets and detects when multiple patients are loaded. - [useSearchParams](https://docs.ohif.org/llm/platform/hooks/useSearchParams.md): A React hook that provides access to URL search parameters from both the query string and hash fragment. - [useSessionStorage](https://docs.ohif.org/llm/platform/hooks/useSessionStorage.md): A React hook that provides sessionStorage access with automatic JSON parsing/stringifying and an option to clear data when the page unloads. - [useViewportDisplaySets](https://docs.ohif.org/llm/platform/hooks/useViewportDisplaySets.md): A React hook that provides access to display sets associated with a viewport, including background, foreground, overlay, and potential display sets. - [useViewportHover](https://docs.ohif.org/llm/platform/hooks/useViewportHover.md): A React hook that tracks mouse hover state and active status for a specific viewport. - [useViewportSegmentations](https://docs.ohif.org/llm/platform/hooks/useViewportSegmentations.md): A React hook that provides segmentation data and representations for the active viewport with automatic updates when segmentations change. - [Utility Module](https://docs.ohif.org/llm/platform/extensions/modules/utility.md): Documentation for OHIF Utility Module, which exposes reusable functionality from one extension to others, allowing for sharing of internal methods, services, and enumerations across the application architecture. - [Viewed Data Service](https://docs.ohif.org/llm/platform/services/data/ViewedDataService.md): Documentation for OHIF's ViewedDataService, which tracks dataIds a user has viewed and publishes change events for incremental UI updates. - [Viewport Action Corners Service](https://docs.ohif.org/llm/platform/services/ui/viewport-action-menu.md): Documentation for OHIF's Viewport Action Corners Service, which manages interactive UI components placed in viewport corners, enabling flexible positioning, priority ordering, and dynamic updates of components for viewport-specific control. - [Viewport Grid Service](https://docs.ohif.org/llm/platform/services/ui/viewport-grid-service.md): Documentation for OHIF's Viewport Grid Service, which manages the layout and configuration of the viewer's viewport grid, handling active viewport selection, display set assignment, and layout changes with event broadcasting capabilities. - [Viewport Module](https://docs.ohif.org/llm/platform/extensions/modules/viewport.md): Documentation for OHIF Viewport Module, which provides React components that consume displaySets for viewing medical images and documents, with examples of 2D image viewing, structured reports, PDFs, and performance optimization techniques. - [Viewport Overlay Customization](https://docs.ohif.org/llm/platform/services/customization-service/viewportOverlay.md): Documentation for customizing OHIF's viewport overlays, allowing configuration of the information displayed in each corner (top-right, top-left, bottom-left, bottom-right) of medical imaging viewports. - [Viewport Scrollbar Customization](https://docs.ohif.org/llm/platform/services/customization-service/ViewportScrollbar.md): Documentation for configuring OHIF viewport scrollbar behavior, including progress vs legacy mode, loaded/viewed tracking visuals, loading pattern behavior, timing controls, and viewportScrollbar.indicator (size + optional custom indicator). - [Work List Customization](https://docs.ohif.org/llm/platform/services/customization-service/WorkList.md): Documentation for configuring the OHIF WorkList study-list route — selecting between the new (default) and legacy variants, the preview panel's series view (thumbnails, list, or both), and the columns shown in the study-list table. - [WorkflowStep Service](https://docs.ohif.org/llm/platform/services/data/WorkflowStepService.md): Documentation for OHIF's WorkflowStepService, which enables structured multi-step clinical workflows with customizable hanging protocols, layouts, and toolbars for each step, providing guided navigation through complex imaging tasks. ## User-guide - [Hotkeys](https://docs.ohif.org/llm/user-guide/viewer/hotkeys.md) - [Language](https://docs.ohif.org/llm/user-guide/viewer/Language.md) - [Measurement Panel](https://docs.ohif.org/llm/user-guide/viewer/measurement-panel.md) - [Measurement Tracking](https://docs.ohif.org/llm/user-guide/viewer/measurement-tracking.md) - [Multiplanar Reconstruction](https://docs.ohif.org/llm/user-guide/viewer/mpr.md) - [Overview](https://docs.ohif.org/llm/user-guide/viewer/index.md) - [Study List](https://docs.ohif.org/llm/user-guide/index.md) - [Study Panel](https://docs.ohif.org/llm/user-guide/viewer/study-panel.md) - [Toolbar](https://docs.ohif.org/llm/user-guide/viewer/toolbar.md) - [Viewport](https://docs.ohif.org/llm/user-guide/viewer/viewport.md)