{"id":13812577,"url":"https://github.com/webnamics/u-dicom-viewer","last_synced_at":"2025-05-07T15:20:54.421Z","repository":{"id":37536182,"uuid":"210281987","full_name":"webnamics/u-dicom-viewer","owner":"webnamics","description":"A simple web browser DICOM viewer for any device.","archived":false,"fork":false,"pushed_at":"2023-04-13T14:42:36.000Z","size":25441,"stargazers_count":177,"open_issues_count":40,"forks_count":67,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-31T11:21:09.625Z","etag":null,"topics":["cornerstonejs","dicom","dicom-viewer","dicomviewer","javascript","medical-images","react","universal-dicom-viewer","viewer"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/webnamics.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2019-09-23T06:38:16.000Z","updated_at":"2025-03-22T18:35:46.000Z","dependencies_parsed_at":"2023-01-27T05:16:13.439Z","dependency_job_id":"0a60f1e4-b70b-40d1-906d-8340176eaf74","html_url":"https://github.com/webnamics/u-dicom-viewer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webnamics%2Fu-dicom-viewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webnamics%2Fu-dicom-viewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webnamics%2Fu-dicom-viewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webnamics%2Fu-dicom-viewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webnamics","download_url":"https://codeload.github.com/webnamics/u-dicom-viewer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252902685,"owners_count":21822277,"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":["cornerstonejs","dicom","dicom-viewer","dicomviewer","javascript","medical-images","react","universal-dicom-viewer","viewer"],"created_at":"2024-08-04T04:00:53.460Z","updated_at":"2025-05-07T15:20:54.402Z","avatar_url":"https://github.com/webnamics.png","language":"JavaScript","funding_links":[],"categories":["Libraries"],"sub_categories":["JavaScript"],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003eU Dicom Viewer\u003c/h1\u003e\n  \u003cp\u003eA simple web browser DICOM viewer for any device.\u003c/p\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\t\u003ca href=\"https://webnamics.github.io/u-dicom-viewer/\"\u003eOnline version\u003c/a\u003e\n\u003c/div\u003e\n\n\u003chr /\u003e\n\u003cp\u003eThis software can only be used as a reviewing or scientific software and cannot be used as a medical device for primary diagnostic or any other clinical practice.\u003c/p\u003e\n\n\u003cp\u003e\u003cstrong\u003eU Dicom Viewer\u003c/strong\u003e or \u003cstrong\u003eUDV\u003c/strong\u003e is a simple but functional DICOM viewer for any device with a web browser, it allows to open and view 2D medical images in a wide variety of DICOM formats.\u003c/p\u003e\n\n\u003ch2\u003e\u003ca id=\"user-content-acknowledgments\" class=\"anchor\" aria-hidden=\"true\" href=\"#acknowledgments\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003eKey features\u003c/h2\u003e\n\u003cul\u003e\n\t\u003cli\u003eIntegration of a sandbox file manager to handle easily files and subfolders. (1)\u003c/li\u003e\n\t\u003cli\u003eOpen zip archive from local and decompress it into sandbox file system.\u003c/li\u003e\n\t\u003cli\u003eOpen zip archive from URL and decompress it into sandbox file system.\u003c/li\u003e\n\t\u003cli\u003eOpen images from sandbox file system.\u003c/li\u003e\n\t\u003cli\u003eOpen DICOMDIR from sandbox file system.\u003c/li\u003e\n\t\u003cli\u003eOpen DICOMDIR file from local (2).\u003c/li\u003e \n\t\u003cli\u003eOpen multiple files from local folder (2).\u003c/li\u003e \n\t\u003cli\u003eOpen medical images in DICOM format from local and URL.\u003c/li\u003e \n\t\u003cli\u003eOpen images in JPEG or PNG format from local and URL.\u003c/li\u003e \n\t\u003cli\u003eExport zip archive of images from sandbox file system.\u003c/li\u003e \n\t\u003cli\u003eWindow width and window center control for DICOM images.\u003c/li\u003e\n\t\u003cli\u003eZooming and panning images.\u003c/li\u003e \n\t\u003cli\u003eMeasurement tools with annotation field.\u003c/li\u003e\n\t\u003cli\u003eMeasurement tools for length, area and angle, elliptical, rectangle and Freehand ROI.\u003c/li\u003e\n\t\u003cli\u003ePersistence of measurement tools. (3)\u003c/li\u003e\n\t\u003cli\u003eCine view with control functions for multiframe image.\u003c/li\u003e\n\t\u003cli\u003eDisplaying DICOM attributes of image.\u003c/li\u003e\n\t\u003cli\u003eMulti-view support, it can open up to 16 different files (1x1 to 4x4 grid).\u003c/li\u003e\n\t\u003cli\u003eBasic 2D Multiplanar Reconstruction (MPR), this allows to reconstruct images in orthogonal planes (coronal, sagittal, axial).\u003c/li\u003e\n\t\u003cli\u003eReference Lines, this allows to determine the intersection point when browsing series with different image planes.\u003c/li\u003e\n\t\u003cli\u003eLink Series, this allows to syncronized scroll with different series on same slice location.\u003c/li\u003e\n\t\u003cli\u003eBrowser to explorer series and images.\u003c/li\u003e\n\t\u003cli\u003eHistogram window.\u003c/li\u003e\n\t\u003cli\u003eSave DICOM attributes as JSON or CSV file.\u003c/li\u003e\n\t\u003cli\u003eSave screenshot in JPEG or PNG format into local or sandbox file system.\u003c/li\u003e\n\u003c/ul\u003e\n\n\u003cdiv\u003e\n\t\u003cp\u003e(1) Stored in IndexedDB, the client-side database of web browser.\u003c/p\u003e\n\t\u003cp\u003e(2) This feature is not present in mobile browser because the webkitdirectory attribute is not yet supported (for detail see \u003ca href=\"https://caniuse.com/#feat=input-file-directory\"\u003ecaniuse.com/#feat=input-file-directory\u003c/a\u003e).\u003c/p\u003e\n\t\u003cp\u003e(3) Stored in IndexedDB. In the database every measurement is associated with SOP Instance UID tag.\u003c/p\u003e\n\u003c/div\u003e\n\n\u003ch2\u003e\u003ca id=\"user-content-acknowledgments\" class=\"anchor\" aria-hidden=\"true\" href=\"#acknowledgments\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003eAcknowledgments\u003c/h2\u003e\n\u003cp\u003eUDV uses:\u003c/p\u003e\n\u003cul\u003e\n\t\u003cli\u003e\u003ca href=\"https://github.com/cornerstonejs/cornerstone\"\u003eCornerstone Core\u003c/a\u003e, complete web based medical imaging platform.\u003c/li\u003e\n\t\u003cli\u003e\u003ca href=\"https://github.com/cornerstonejs/cornerstoneTools\"\u003eCornerstoneTools\u003c/a\u003e, library of common tools that can be used with Cornerstone.\u003c/li\u003e\n\t\u003cli\u003e\u003ca href=\"https://github.com/webnamics/cornerstoneWADOImageLoader\"\u003ewebnamics/CornerstoneWADOImageLoader\u003c/a\u003e, Cornerstone Image Loader that works with WADO-URI, WADO-RS and DICOM P10 files. A fork that allow to load image from ArrayBuffer.\u003c/li\u003e\n\t\u003cli\u003e\u003ca href=\"https://github.com/cornerstonejs/cornerstoneWebImageLoader\"\u003eCornerstoneWebImageLoader\u003c/a\u003e, Cornerstone Image Loader that works with PNG and JPEG files.\u003c/li\u003e\n\t\u003cli\u003e\u003ca href=\"https://github.com/webnamics/cornerstoneFileImageLoader\"\u003eCornerstoneFileImageLoader\u003c/a\u003e, Cornerstone Image Loader for images (JPG, PNG) using the HTML5 File API.\u003c/li\u003e\n\t\u003cli\u003e\u003ca href=\"https://github.com/cornerstonejs/dicomParser\"\u003edicomParser\u003c/a\u003e, JavaScript library designed to parse DICOM for web browsers.\u003c/li\u003e\n\t\u003cli\u003e\u003ca href=\"https://github.com/rii-mango/Daikon\"\u003eDaikon\u003c/a\u003e, pure JavaScript DICOM reader.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAs well as the following third-party libraries:\u003c/p\u003e\n\u003cul\u003e\n\t\u003cli\u003e\u003ca href=\"https://github.com/dfahlander/Dexie.js/\"\u003eDexie.js\u003c/a\u003e, wrapper library for indexedDB - the standard database in the browser.\u003c/li\u003e\n\t\u003cli\u003e\u003ca href=\"https://github.com/duskload/react-device-detect\"\u003ereact-device-detect\u003c/a\u003e, detect device, and render view according to detected device type.\u003c/li\u003e\n\t\u003cli\u003e\u003ca href=\"https://material-ui.com/\"\u003eMaterial-UI\u003c/a\u003e, React components for faster and easier web development. Build your own design system, or start with Material Design.\u003c/li\u003e\n\t\u003cli\u003e\u003ca href=\"https://github.com/hammerjs/hammer.js/tree/master\"\u003ehammer.js\u003c/a\u003e, JavaScript library for detecting touch gestures.\u003c/li\u003e\n\t\u003cli\u003e\u003ca href=\"https://github.com/axios/axios\"\u003eaxios\u003c/a\u003e, Promise based HTTP client for the browser and node.js.\u003c/li\u003e\n\t\u003cli\u003e\u003ca href=\"https://github.com/Stuk/jszip\"\u003eJSZip\u003c/a\u003e, Create, read and edit .zip files with Javascript.\u003c/li\u003e\n\t\u003cli\u003e\u003ca href=\"https://github.com/goldenyz/react-perfect-scrollbar\"\u003eReact-Perfect-Scrollbar\u003c/a\u003e, Wrapper to allow use perfect-scrollbar in React.\u003c/li\u003e\n\u003c/ul\u003e\n\n\n\u003chr /\u003e\n\nThis project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).\n\n## Available Scripts\n\nIn the project directory, you can run:\n\n### `npm start`\n\nRuns the app in the development mode.\u003cbr\u003e\nOpen [http://localhost:3000](http://localhost:3000) to view it in the browser.\n\nThe page will reload if you make edits.\u003cbr\u003e\nYou will also see any lint errors in the console.\n\n### `npm test`\n\nLaunches the test runner in the interactive watch mode.\u003cbr\u003e\nSee the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.\n\n### `npm run build`\n\nBuilds the app for production to the `build` folder.\u003cbr\u003e\nIt correctly bundles React in production mode and optimizes the build for the best performance.\n\nThe build is minified and the filenames include the hashes.\u003cbr\u003e\nYour app is ready to be deployed!\n\nSee the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.\n\n### `npm run eject`\n\n**Note: this is a one-way operation. Once you `eject`, you can’t go back!**\n\nIf you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.\n\nInstead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.\n\nYou don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.\n\n## Learn More\n\nYou can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).\n\nTo learn React, check out the [React documentation](https://reactjs.org/).\n\n### Code Splitting\n\nThis section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting\n\n### Analyzing the Bundle Size\n\nThis section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size\n\n### Making a Progressive Web App\n\nThis section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app\n\n### Advanced Configuration\n\nThis section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration\n\n### Deployment\n\nThis section has moved here: https://facebook.github.io/create-react-app/docs/deployment\n\n### `npm run build` fails to minify\n\nThis section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify\n\n## Copyright\n\nCopyright 2019 Luigi Orso [webnamics@gmail.com](mailto:webnamics@gmail.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebnamics%2Fu-dicom-viewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebnamics%2Fu-dicom-viewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebnamics%2Fu-dicom-viewer/lists"}