{"id":29190617,"url":"https://github.com/owncloud/web-app-dicom-viewer","last_synced_at":"2025-07-02T00:10:32.335Z","repository":{"id":219252656,"uuid":"720062448","full_name":"owncloud/web-app-dicom-viewer","owner":"owncloud","description":"ownCloud Web DICOM Viewer is an extension of ownCloud Web to preview DICOM files (medical images and their corresponding metadata) ","archived":false,"fork":false,"pushed_at":"2025-04-09T04:14:07.000Z","size":52458,"stargazers_count":3,"open_issues_count":14,"forks_count":1,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-06-28T18:13:15.573Z","etag":null,"topics":["cornerstone","cornerstonejs","frontend","medical-imaging","owncloud","owncloud-web","typescript","vue","vuejs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/owncloud.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-17T13:55:17.000Z","updated_at":"2025-04-03T11:11:00.000Z","dependencies_parsed_at":"2024-05-29T11:10:45.648Z","dependency_job_id":"cb6cdd4f-f6db-4191-aaa2-16d5b2120a2d","html_url":"https://github.com/owncloud/web-app-dicom-viewer","commit_stats":null,"previous_names":["owncloud/web-app-dicom-viewer"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/owncloud/web-app-dicom-viewer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owncloud%2Fweb-app-dicom-viewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owncloud%2Fweb-app-dicom-viewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owncloud%2Fweb-app-dicom-viewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owncloud%2Fweb-app-dicom-viewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/owncloud","download_url":"https://codeload.github.com/owncloud/web-app-dicom-viewer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owncloud%2Fweb-app-dicom-viewer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263052430,"owners_count":23406106,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cornerstone","cornerstonejs","frontend","medical-imaging","owncloud","owncloud-web","typescript","vue","vuejs"],"created_at":"2025-07-02T00:10:31.677Z","updated_at":"2025-07-02T00:10:32.325Z","avatar_url":"https://github.com/owncloud.png","language":"TypeScript","funding_links":[],"categories":["ownCloud Apps and Extensions"],"sub_categories":["Viewers \u0026 Editors"],"readme":"# ownCloud Web DICOM Viewer\n\n[![Build Status](https://drone.owncloud.com/api/badges/owncloud/web-app-dicom-viewer/status.svg)](https://drone.owncloud.com/owncloud/web-app-dicom-viewer)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=owncloud_web-app-dicom-viewer\u0026metric=security_rating)](https://sonarcloud.io/summary/new_code?id=owncloud_web-app-dicom-viewer)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=owncloud_web-app-dicom-viewer\u0026metric=coverage)](https://sonarcloud.io/summary/new_code?id=owncloud_web-app-dicom-viewer)\n\nThe ownCloud Web DICOM Viewer app is an extension of [ownCloud Web](https://github.com/owncloud/web) to preview DICOM files (medical images and their corresponding metadata) in the browser. The preview of the medical images is based on MIT licensed [cornerstone3D](https://github.com/cornerstonejs/cornerstone3D).\n\n\n## Table of Contents\n\n* [Functionalities of DICOM Viewer Web Extension](#functionalities-of-dicom-viewer-web-extension)\n* [Adding DICOM Viewer to Your oCIS Installation](#adding-dicom-viewer-to-your-ocis-installation)\n  * [Adding DICOM Viewer to the oCIS Deployment Example](#adding-dicom-viewer-to-the-ocis-deployment-example)\n  * [Manual App Installation](#manual-app-installation)\n* [Build and Run DICOM Viewer for Development](#build-and-run-dicom-viewer-for-development)\n* [Contributing to DICOM Viewer Web Extension](#contributing-to-dicom-viewer-web-extension)\n* [Copyright](#copyright)\n\n\n## Functionalities of DICOM Viewer Web Extension\n\nThe current release allows previewing .dcm files within oCIS and displaying their corresponding metadata in a sidebar on request. It offers image manipulation operations such as zoom in and out, rotation, flipping, colour inversion and reset on the image preview. The app UI is implemented in a responsive manner and adapts the size of the image preview and the way that metadata is displayed to the screen size of the device.\n\n\u003cimg src=\"https://github.com/owncloud/awesome-ocis/blob/main/webApps/owncloud/web-app-dicom-viewer/screenshots/1.png\" alt=\"app functionalities\" style=\"width:48%; height:auto;\"\u003e \u0026nbsp; \u0026nbsp; \u003cimg src=\"https://github.com/owncloud/awesome-ocis/blob/main/webApps/owncloud/web-app-dicom-viewer/screenshots/4.png\" alt=\"display of metadata\" style=\"width:48%; height:auto;\"\u003e\n\n_The extension allows previewing a DICOM image and it's most important metadata. On request, all corresponding metadata of the file are displayed in the sidebar._\n\n\u003cimg src=\"https://github.com/owncloud/awesome-ocis/blob/main/webApps/owncloud/web-app-dicom-viewer/screenshots/2.png\" alt=\"app functionalities\" style=\"width:48%; height:auto;\"\u003e \u0026nbsp; \u0026nbsp; \u003cimg src=\"https://github.com/owncloud/awesome-ocis/blob/main/webApps/owncloud/web-app-dicom-viewer/screenshots/3.png\" alt=\"display of metadata\" style=\"width:48%; height:auto;\"\u003e\n\n_The extension allows the user to zoom, rotate and flip the preview of the image. Inverting the colors of the preview is also supported._\n\n\n## Adding DICOM Viewer to Your oCIS Installation\nAs oCIS administrator, you can add custom web applications for your users. By adding the DICOM Viewer to the oCIS WebUI, you enable your users to take advantage of the [functionalities of this web extension](#functionalities-of-dicom-viewer-web-extension).\n\n\n### Adding DICOM Viewer to the oCIS Deployment Example\noCIS provides some [deployment examples](https://github.com/owncloud/ocis/tree/master/deployments/examples/) including detailed configuration step by step guides for [local production setup](https://doc.owncloud.com/ocis/next/depl-examples/ubuntu-compose/ubuntu-compose-prod.html) and [deployment of Infinite Scale on the Hetzner Cloud](https://doc.owncloud.com/ocis/next/depl-examples/ubuntu-compose/ubuntu-compose-hetzner.html).\nIn both cases, it only takes a few very small and simple steps to add the DICOM Viewer Web Extension to the [`ocis_full` deployment example](https://github.com/owncloud/ocis/tree/master/deployments/examples/ocis_full/) of your own installation:\n\n1. Navigate to the `/opt/compose/ocis/ocis_full` folder of your installation and copy [`dicom-viewer.yml`](https://github.com/owncloud/web-app-dicom-viewer/blob/main/dicom-viewer.yml) into the [`web_extensions`](https://github.com/owncloud/ocis/tree/master/deployments/examples/ocis_full/web_extensions) subfolder.\n\n2. Add `DICOMVIEWER=:web_extensions/dicom-viewer.yml` to the `## oCIS Web Extensions ##` section of the `.env` file of your installation (file is located in `/opt/compose/ocis/ocis_full`).\\\nYour `.env` file should now look like this:\n   ```\n   ## oCIS Web Extensions ##\n   # It is possible to use the oCIS Web Extensions to add custom functionality to the oCIS frontend.\n   # For more details see https://github.com/owncloud/web-extensions/blob/main/README.md\n   \n   \u003clist of all web extensions\u003e\n   \n   DICOMVIEWER=:web_extensions/dicom-viewer.yml\n   ```\n\n3. Append `${DICOMVIEWER:-}` to the `COMPOSE_FILE` variable at the very end of the last line of the `.env` file. This variable combines the configs of all the components that need to be loaded.\n\n   `COMPOSE_FILE=docker-compose.yml${OCIS:-} ... \u003cvariables of lots of other configs that are added to docker compose\u003e ... ${DICOMVIEWER:-}`\n\n   After appending `${DICOMVIEWER:-}`, your `.env` file should look like this:\n   ```\n   ## IMPORTANT ##\n   # This MUST be the last line as it assembles the supplemental compose files to be used.\n   # ALL supplemental configs must be added here, whether commented or not.\n   # Each var must either be empty or contain :path/file.yml\n   COMPOSE_FILE=docker-compose.yml${OCIS:-}${TIKA:-}${S3NG:-}${S3NG_MINIO:-}${COLLABORA:-}${MONITORING:-}${IMPORTER:-}${CLAMAV:-}${ONLYOFFICE:-}${INBUCKET:-}${EXTENSIONS:-}${UNZIP:-}${DRAWIO:-}${JSONVIEWER:-}${PROGRESSBARS:-}${EXTERNALSITES:-}${DICOMVIEWER:-}\n   ```\n\n4. Update the `csp.yaml` file located in `/config/ocis/csp.yaml` by adding the \n`\"id\": \"com.github.owncloud.web-app-dicom-viewer\"` block as shown in the [webApps/apps.json](https://github.com/owncloud/awesome-ocis/blob/main/webApps/apps.json) example.\n\nDone! Have fun using the [functionalities of the DICOM Viewer web extension](#functionalities-of-dicom-viewer-web-extension) on your installation!\n\n\n### Manual App Installation\n\n1. Download the zip file from the [releases page](https://github.com/owncloud/web-app-dicom-viewer/releases).\n2. Extract the zip file to the `apps` directory of your oCIS server. The `apps` directory is set using the `WEB_ASSET_APPS_PATH` environment variable.\n\n#### Prerequisites\n\n- Supported oCIS and Web Versions: oCIS (\u003e= 6.2.x), Web (\u003e= 9.x.x)\n- Supported Architectures: `amd64`\n\n#### Additional Information\n\nHave a look at the ownCloud Infinite Scale Deployment documentation to learn how to [extend the WebUI with apps](https://doc.owncloud.com/ocis/next/deployment/webui/webui-customisation.html#extend-web-ui-with-apps). You will find instructions how to [load custom applications](https://doc.owncloud.com/ocis/next/deployment/webui/webui-customisation.html#loading-applications) into your installation and get a better understanding of the web extension [application structure](https://doc.owncloud.com/ocis/next/deployment/webui/webui-customisation.html#application-structure) and [application configuration](https://doc.owncloud.com/ocis/next/deployment/webui/webui-customisation.html#application-configuration).\n\n\n## Build and Run DICOM Viewer for Development\n\n### Prerequisites\n\n- [Node.js `v18`](https://nodejs.org/en/)\n- [pnpm `v8`](https://pnpm.io/)\n- [Docker Compose](https://docs.docker.com/compose/)\n\n\n### 1. Install Dependencies\n\n```bash\npnpm install\n```\n\n### 2. Run oCIS Server\n\n```bash\ndocker compose up\n```\n\n### 3. Build the Extension\n\nBuild the extension using watch for development.\n\n```bash\npnpm build:w\n```\n\n### 4. Load the Extension\n\nWe can load the app into the oCIS server in two different ways, depending on the version of oCIS:\n\n#### For oCIS 5.0.0 (Separate Extension Server)\n\nConfigure the extension in `web.config.json`\n\n```json\n{\n  …\n  \"external_apps\": [\n    {\n      \"id\": \"dicom-viewer\",\n      \"path\": \"https://host.docker.internal:9999/js/web-app-dicom-viewer.js\",\n      \"config\": {\n        \"mimeTypes\": [\n          \"application/dicom\",\n          \"application/octet-stream\",\n          \"application/dicom+xml\",\n          \"application/json\"\n        ]\n      }\n    }\n  ]\n}\n\n```\n\n#### For oCIS \u003e= 5.1\n\nCopy `docker-compose.override.example.yml` to `docker-compose.override.yml`.\n\n\n### 5. Have Fun\n\nYou can access oCIS WebUI with the DICOM Viewer extension through [localhost:9200](https://localhost:9200).\n\n\n### Docker Tags and Respective Dockerfile Links\n\n- [`latest`](https://github.com/owncloud/web-app-dicom-viewer/blob/master/docker/Dockerfile) available as `registry.owncloud.com/internal/web-app-dicom-viewer:latest`\n- Default volumes: None\n- Exposed ports: `8080`\n- Environment variables: None\n\n\n## Contributing to DICOM Viewer Web Extension\n\nContribution in the form of bug reports, user feedback or actual code is always welcome! Please file issues [here](https://github.com/owncloud/web-app-dicom-viewer/issues).\n\n\n## Copyright\n\n```Text\nCopyright (c) 2023 ownCloud GmbH\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fowncloud%2Fweb-app-dicom-viewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fowncloud%2Fweb-app-dicom-viewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fowncloud%2Fweb-app-dicom-viewer/lists"}