dev(yarn link): make it possible to yarn link easily with cornerstone3D and update docs (#3563)

This commit is contained in:
Alireza 2023-07-27 12:39:12 -04:00 committed by GitHub
parent 6d3b3d191f
commit 72207e6c78
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
27 changed files with 2627 additions and 2688 deletions

View File

@ -33,7 +33,11 @@ function transpileJavaScript(mode) {
rootMode: 'upward', rootMode: 'upward',
envName: mode, envName: mode,
cacheCompression: false, cacheCompression: false,
cacheDirectory: true, // Note: This was causing a lot of issues with yarn link of the cornerstone
// only set this to true if you don't have a yarn link to external libs
// otherwise expect the lib changes not to be reflected in the dev server
// as it will be cached
cacheDirectory: false,
}, },
}; };
} }

View File

@ -79,6 +79,11 @@ module.exports = (env, argv, { SRC_DIR, ENTRY }) => {
module: { module: {
noParse: [/(codec)/, /(dicomicc)/], noParse: [/(codec)/, /(dicomicc)/],
rules: [ rules: [
{
test: /\.js$/,
enforce: 'pre',
use: 'source-map-loader',
},
transpileJavaScriptRule(mode), transpileJavaScriptRule(mode),
loadWebWorkersRule, loadWebWorkersRule,
// loadShadersRule, // loadShadersRule,

View File

@ -13,12 +13,16 @@ module.exports = {
'inline-react-svg', 'inline-react-svg',
{ {
svgo: { svgo: {
plugins: extendDefaultPlugins([ plugins: [
{ {
name: 'removeViewBox', name: 'preset-default',
active: false, params: {
overrides: {
removeViewBox: false,
},
},
}, },
]), ],
}, },
}, },
], ],

View File

@ -44,9 +44,9 @@
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.20.13", "@babel/runtime": "^7.20.13",
"@cornerstonejs/adapters": "^1.5.0", "@cornerstonejs/adapters": "^1.7.1",
"@cornerstonejs/core": "^1.5.0", "@cornerstonejs/core": "^1.7.1",
"@cornerstonejs/tools": "^1.5.0", "@cornerstonejs/tools": "^1.7.1",
"classnames": "^2.3.2" "classnames": "^2.3.2"
} }
} }

View File

@ -36,7 +36,7 @@
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2", "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
"@cornerstonejs/codec-openjpeg": "^1.2.2", "@cornerstonejs/codec-openjpeg": "^1.2.2",
"@cornerstonejs/codec-openjph": "^2.4.2", "@cornerstonejs/codec-openjph": "^2.4.2",
"@cornerstonejs/dicom-image-loader": "^1.4.1", "@cornerstonejs/dicom-image-loader": "^1.7.1",
"@ohif/core": "3.7.0-beta.40", "@ohif/core": "3.7.0-beta.40",
"@ohif/ui": "3.7.0-beta.40", "@ohif/ui": "3.7.0-beta.40",
"dcmjs": "^0.29.6", "dcmjs": "^0.29.6",
@ -52,10 +52,10 @@
}, },
"dependencies": { "dependencies": {
"@babel/runtime": "^7.20.13", "@babel/runtime": "^7.20.13",
"@cornerstonejs/adapters": "^1.5.0", "@cornerstonejs/adapters": "^1.7.1",
"@cornerstonejs/core": "^1.5.0", "@cornerstonejs/core": "^1.7.1",
"@cornerstonejs/streaming-image-volume-loader": "^1.5.0", "@cornerstonejs/streaming-image-volume-loader": "^1.7.1",
"@cornerstonejs/tools": "^1.5.0", "@cornerstonejs/tools": "^1.7.1",
"@kitware/vtk.js": "27.3.1", "@kitware/vtk.js": "27.3.1",
"html2canvas": "^1.4.1", "html2canvas": "^1.4.1",
"lodash.debounce": "4.0.8", "lodash.debounce": "4.0.8",

View File

@ -30,8 +30,8 @@
"start": "yarn run dev" "start": "yarn run dev"
}, },
"peerDependencies": { "peerDependencies": {
"@cornerstonejs/core": "^1.5.0", "@cornerstonejs/core": "^1.7.1",
"@cornerstonejs/tools": "^1.5.0", "@cornerstonejs/tools": "^1.7.1",
"@ohif/core": "3.7.0-beta.40", "@ohif/core": "3.7.0-beta.40",
"@ohif/extension-cornerstone-dicom-sr": "3.7.0-beta.40", "@ohif/extension-cornerstone-dicom-sr": "3.7.0-beta.40",
"@ohif/ui": "3.7.0-beta.40", "@ohif/ui": "3.7.0-beta.40",
@ -47,7 +47,7 @@
"dependencies": { "dependencies": {
"@babel/runtime": "^7.20.13", "@babel/runtime": "^7.20.13",
"@ohif/ui": "3.7.0-beta.40", "@ohif/ui": "3.7.0-beta.40",
"@xstate/react": "^0.8.1", "@xstate/react": "^3.2.2",
"xstate": "^4.10.0" "xstate": "^4.10.0"
} }
} }

View File

@ -74,6 +74,7 @@
"@babel/plugin-transform-runtime": "^7.17.0", "@babel/plugin-transform-runtime": "^7.17.0",
"@babel/plugin-transform-typescript": "^7.13.0", "@babel/plugin-transform-typescript": "^7.13.0",
"@babel/preset-env": "^7.16.11", "@babel/preset-env": "^7.16.11",
"@babel/plugin-proposal-private-property-in-object": "^7.21.11",
"@babel/preset-react": "^7.16.7", "@babel/preset-react": "^7.16.7",
"@babel/preset-typescript": "^7.13.0", "@babel/preset-typescript": "^7.13.0",
"@types/jest": "^27.5.0", "@types/jest": "^27.5.0",
@ -124,6 +125,7 @@
"semver": "^7.5.1", "semver": "^7.5.1",
"serve": "^14.2.0", "serve": "^14.2.0",
"shader-loader": "^1.3.1", "shader-loader": "^1.3.1",
"source-map-loader": "^4.0.1",
"start-server-and-test": "^1.10.0", "start-server-and-test": "^1.10.0",
"style-loader": "^1.0.0", "style-loader": "^1.0.0",
"terser-webpack-plugin": "^5.1.4", "terser-webpack-plugin": "^5.1.4",

View File

@ -186,8 +186,6 @@ module.exports = (env, argv) => {
chunkFilename: '[id].css', chunkFilename: '[id].css',
}) })
); );
} else {
mergedConfig.plugins.push(new webpack.HotModuleReplacementPlugin());
} }
return mergedConfig; return mergedConfig;

View File

@ -51,7 +51,7 @@
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2", "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
"@cornerstonejs/codec-openjpeg": "^1.2.2", "@cornerstonejs/codec-openjpeg": "^1.2.2",
"@cornerstonejs/codec-openjph": "^2.4.2", "@cornerstonejs/codec-openjph": "^2.4.2",
"@cornerstonejs/dicom-image-loader": "^1.4.4", "@cornerstonejs/dicom-image-loader": "^1.7.1",
"@ohif/core": "3.7.0-beta.40", "@ohif/core": "3.7.0-beta.40",
"@ohif/extension-cornerstone": "3.7.0-beta.40", "@ohif/extension-cornerstone": "3.7.0-beta.40",
"@ohif/extension-cornerstone-dicom-rt": "3.7.0-beta.40", "@ohif/extension-cornerstone-dicom-rt": "3.7.0-beta.40",

View File

@ -35,7 +35,7 @@
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2", "@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
"@cornerstonejs/codec-openjpeg": "^1.2.2", "@cornerstonejs/codec-openjpeg": "^1.2.2",
"@cornerstonejs/codec-openjph": "^2.4.2", "@cornerstonejs/codec-openjph": "^2.4.2",
"@cornerstonejs/dicom-image-loader": "^1.4.4", "@cornerstonejs/dicom-image-loader": "^1.7.1",
"@ohif/ui": "3.7.0-beta.40", "@ohif/ui": "3.7.0-beta.40",
"cornerstone-math": "0.1.9", "cornerstone-math": "0.1.9",
"dicom-parser": "^1.8.21" "dicom-parser": "^1.8.21"

View File

@ -212,7 +212,7 @@ An overview of steps for running OHIF Viewer using a local DCM4CHEE is shown
below: below:
<div style={{padding:"56.25% 0 0 0", position:"relative"}}> <div style={{padding:"56.25% 0 0 0", position:"relative"}}>
<iframe src="https://player.vimeo.com/video/557570043?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe> <iframe src="https://player.vimeo.com/video/843233881?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe>
</div> </div>
[dcm4chee]: https://github.com/dcm4che/dcm4chee-arc-light [dcm4chee]: https://github.com/dcm4che/dcm4chee-arc-light

View File

@ -95,7 +95,7 @@ You can see the overview of the mentioned steps:
<div style={{padding:"56.25% 0 0 0", position:"relative"}}> <div style={{padding:"56.25% 0 0 0", position:"relative"}}>
<iframe src="https://player.vimeo.com/video/554726410?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe> <iframe src="https://player.vimeo.com/video/843233827?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe>
</div> </div>
<!-- ### Setup <!-- ### Setup

View File

@ -46,7 +46,7 @@ _Advanced_
<div style={{padding:"56.25% 0 0 0", position:"relative"}}> <div style={{padding:"56.25% 0 0 0", position:"relative"}}>
<iframe src="https://player.vimeo.com/video/551957463?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe> <iframe src="https://player.vimeo.com/video/843233793?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe>
</div> </div>

View File

@ -99,7 +99,7 @@ You should see the following output:
### 🎉 Celebrate 🎉 ### 🎉 Celebrate 🎉
<div style={{padding:"56.25% 0 0 0", position:"relative"}}> <div style={{padding:"56.25% 0 0 0", position:"relative"}}>
<iframe src="https://player.vimeo.com/video/545988245?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe> <iframe src="https://player.vimeo.com/video/843233770?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe>
</div> </div>
### Building for Production ### Building for Production

View File

@ -0,0 +1,62 @@
---
sidebar_position: 8
sidebar_label: Local Linking
---
# Introduction
Local linking allows you to develop and test a library in the context of an application before it's published or when you encounter
a bug that you suspect is related to a library. With Yarn, this can be achieved through the yarn link command.
The general procedure is as follows:
Link the Library:
```sh
cd /path/to/library
yarn link
```
This command will create a symlink in a global directory for the library.
Link to the Application:
```sh
cd /path/to/application
yarn link "library-name"
```
Creates a symlink from the global directory to the application's node_modules.
# Tutorial for linking Cornerstone3D to OHIF
Below we demonstrate how to link Cornerstone3D to OHIF Viewer. This is useful for testing and debugging Cornerstone3D in the context of OHIF Viewer.
<div style={{padding:"56.25% 0 0 0", position:"relative"}}>
<iframe src="https://player.vimeo.com/video/849096279?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe>
</div>
::tip
Since `@cornerstonejs/tools` depends on `@cornerstonejs/core`, if you need the changes
you made in `@cornerstonejs/core` to be reflected in `@cornerstonejs/tools`, you need to
also link `@cornerstonejs/core` to `@cornerstonejs/tools`.
```sh
cd /path/to/cornerstonejs-core
# for the core
yarn link
cd /path/to/cornerstonejs-tools
yarn link "@cornerstonejs/core"
# for the tools
yarn link
# inside OHIF
cd /path/to/OHIFViewer
yarn link "@cornerstonejs/core"
yarn link "@cornerstonejs/tools"
```

View File

@ -61,11 +61,9 @@ You can add your custom datasource by creating the implementation using
`IWebApiDataSource.create` from `@ohif/core`. This factory function creates a `IWebApiDataSource.create` from `@ohif/core`. This factory function creates a
new "Web API" data source that fetches data over HTTP. new "Web API" data source that fetches data over HTTP.
You need to make sure, you implement the following functions for the data
source.
```js title="platform/core/src/DataSources/IWebApiDataSource.js" ```js title="platform/core/src/DataSources/IWebApiDataSource.js"
function create({ function create({
initialize,
query, query,
retrieve, retrieve,
store, store,
@ -80,7 +78,18 @@ function create({
``` ```
You can take a look at `dicomweb` data source implementation to get an idea You can take a look at `dicomweb` data source implementation to get an idea
`extensions/default/src/DicomWebDataSource/index.js` `extensions/default/src/DicomWebDataSource/index.js` but here here are some
important api endpoints that you need to implement:
- `initialize`: This method is called when the data source is first created in the mode.tsx, it is used to initialize the data source and set the configuration. For instance, `dicomwebDatasource` uses this method to grab the StudyInstanceUID from the URL and set it as the active study, as opposed to `dicomJSONDatasource` which uses url in the browser to fetch the data and store it in a cache
- `query.studies.search`: This is used in the study panel on the left to fetch the prior studies for the same MRN which is then used to display on the `All` tab. it is also used in the Worklist to show all the studies from the server.
- `query.series.search`: This is used to fetch the series information for a given study that is expanded in the Worklist.
- `retrieve.bulkDataURI`: used to render RTSTUCTURESET in the viewport.
- `retrieve.series.metadata`: It is a crucial end point that is used to fetch series level metadata which for hanging displaySets and displaySet creation.
- `store.dicom`: If you don't need store functionality, you can skip this method. This is used to store the data in the backend.
## Static WADO Client ## Static WADO Client

View File

@ -17,7 +17,7 @@ article: ["Best Practices for Modals / Overlays / Dialog Windows"][ux-article]
<div style={{padding:"56.25% 0 0 0", position:"relative"}}> <div style={{padding:"56.25% 0 0 0", position:"relative"}}>
<iframe src="https://player.vimeo.com/video/549261451?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe> <iframe src="https://player.vimeo.com/video/843233754?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe>
</div> </div>
## Interface ## Interface

View File

@ -19,7 +19,7 @@ article: ["How To Design Notifications For Better UX"][ux-article]
<div style={{padding:"56.25% 0 0 0", position:"relative"}}> <div style={{padding:"56.25% 0 0 0", position:"relative"}}>
<iframe src="https://player.vimeo.com/video/549260975?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe> <iframe src="https://player.vimeo.com/video/843233715?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe>
</div> </div>

View File

@ -43,7 +43,7 @@ The Imaging Network Ontario (ImNO) is an annual symposium that brings together
medical imaging researchers and scientists from across Canada to share medical imaging researchers and scientists from across Canada to share
knowledge, ideas, and experiences. knowledge, ideas, and experiences.
[[Slides]](https://docs.google.com/presentation/d/18XZDon4-Sitc2a70V5sFyhyUVZI_mIgfXHGtdxhZMjE/edit?usp=sharing) [[Slides]](https://docs.google.com/presentation/d/18XZDon4-Sitc2a70V5sFyhyUVZI_mIgfXHGtdxhZMjE/edit?usp=sharing)
[[Video]](https://vimeo.com/691134870/ad7d308a44) [[Video]](https://vimeo.com/843234581/ad7d308a44)
### [NA-MIC Project Week 36th 2022 - Remote](https://github.com/NA-MIC/ProjectWeek/blob/master/PW36_2022_Virtual/README.md) ### [NA-MIC Project Week 36th 2022 - Remote](https://github.com/NA-MIC/ProjectWeek/blob/master/PW36_2022_Virtual/README.md)
@ -81,7 +81,7 @@ Healthcare Imaging with Cloud Healthcare API
OHIF pitch for Informatics Technology for Cancer Research (ITCR) OHIF pitch for Informatics Technology for Cancer Research (ITCR)
[[Slides]](https://docs.google.com/presentation/d/1MZXnZrVAnjmhVIWqC-aRSvJOoMMRLhLddACdCa1TybM/edit?usp=sharing) [[Slides]](https://docs.google.com/presentation/d/1MZXnZrVAnjmhVIWqC-aRSvJOoMMRLhLddACdCa1TybM/edit?usp=sharing)
[[Video]](https://vimeo.com/678769373/625bdb8793) [[Video]](https://vimeo.com/843234613/625bdb8793)
## 2019 ## 2019

View File

@ -18,5 +18,5 @@ Summary of language changing usage can be seen below:
## Overview Video ## Overview Video
<div style={{padding:"56.25% 0 0 0", position:"relative"}}> <div style={{padding:"56.25% 0 0 0", position:"relative"}}>
<iframe src="https://player.vimeo.com/video/559038442?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe> <iframe src="https://player.vimeo.com/video/843233906?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe>
</div> </div>

View File

@ -62,7 +62,7 @@ For instance, running the Viewer on a local DCM4CHEE:
<div style={{padding:"56.25% 0 0 0", position:"relative"}}> <div style={{padding:"56.25% 0 0 0", position:"relative"}}>
<iframe src="https://player.vimeo.com/video/557569965?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe> <iframe src="https://player.vimeo.com/video/843233857?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe>
</div> </div>
## Overview Video ## Overview Video
@ -70,5 +70,5 @@ An overview of measurement drawing and exporting can be seen below:
<div style={{padding:"56.25% 0 0 0", position:"relative"}}> <div style={{padding:"56.25% 0 0 0", position:"relative"}}>
<iframe src="https://player.vimeo.com/video/545986384?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe> <iframe src="https://player.vimeo.com/video/843233565?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe>
</div> </div>

View File

@ -45,7 +45,7 @@ Below, you can see different icons that appear for a tracked vs. untracked serie
<!-- trackedMeasurements --> <!-- trackedMeasurements -->
<div style={{padding:"56.25% 0 0 0", position:"relative"}}> <div style={{padding:"56.25% 0 0 0", position:"relative"}}>
<iframe src="https://player.vimeo.com/video/570278865?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe> <iframe src="https://player.vimeo.com/video/843234022?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe>
</div> </div>
@ -55,7 +55,7 @@ Below, you can see different icons that appear for a tracked vs. untracked serie
<!-- untrackedMeasurements --> <!-- untrackedMeasurements -->
<div style={{padding:"56.25% 0 0 0", position:"relative"}}> <div style={{padding:"56.25% 0 0 0", position:"relative"}}>
<iframe src="https://player.vimeo.com/video/570280036?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe> <iframe src="https://player.vimeo.com/video/843234086?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe>
</div> </div>
@ -84,7 +84,7 @@ The full workflow for saving measurements to SR and loading SR into the viewer i
<!-- SR Restore and Yes --> <!-- SR Restore and Yes -->
<div style={{padding:"56.25% 0 0 0", position:"relative"}}> <div style={{padding:"56.25% 0 0 0", position:"relative"}}>
<iframe src="https://player.vimeo.com/video/570278845?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe> <iframe src="https://player.vimeo.com/video/843233998?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe>
</div> </div>
<br></br> <br></br>
@ -93,13 +93,13 @@ The full workflow for saving measurements to SR and loading SR into the viewer i
<!-- SR Restore and No --> <!-- SR Restore and No -->
<!-- SR Export and measurement restore --> <!-- SR Export and measurement restore -->
<div style={{padding:"56.25% 0 0 0", position:"relative"}}> <div style={{padding:"56.25% 0 0 0", position:"relative"}}>
<iframe src="https://player.vimeo.com/video/570278814?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe> <iframe src="https://player.vimeo.com/video/843233976?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe>
</div> </div>
<br></br> <br></br>
<div style={{padding:"56.25% 0 0 0", position:"relative"}}> <div style={{padding:"56.25% 0 0 0", position:"relative"}}>
<iframe src="https://player.vimeo.com/video/570278799?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe> <iframe src="https://player.vimeo.com/video/843233958?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe>
</div> </div>
### Loading DICOM SR into an Already Tracked Series ### Loading DICOM SR into an Already Tracked Series
@ -120,5 +120,5 @@ you cannot edit the DICOM SR measurement.
<div style={{padding:"56.25% 0 0 0", position:"relative"}}> <div style={{padding:"56.25% 0 0 0", position:"relative"}}>
<iframe src="https://player.vimeo.com/video/570278726?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe> <iframe src="https://player.vimeo.com/video/843233929?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe>
</div> </div>

View File

@ -81,5 +81,5 @@ An overview of tool usage can been seen below:
<div style={{padding:"56.25% 0 0 0", position:"relative"}}> <div style={{padding:"56.25% 0 0 0", position:"relative"}}>
<iframe src="https://player.vimeo.com/video/545989422?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe> <iframe src="https://player.vimeo.com/video/843233686?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe>
</div> </div>

View File

@ -35,5 +35,5 @@ An overview of viewport layout change, and manipulation can be seen below:
<div style={{padding:"56.25% 0 0 0", position:"relative"}}> <div style={{padding:"56.25% 0 0 0", position:"relative"}}>
<iframe src="https://player.vimeo.com/video/545995881?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe> <iframe src="https://player.vimeo.com/video/843233651?badge=0&amp;autopause=0&amp;player_id=0&amp;app_id=58479" frameBorder="0" allow="autoplay; fullscreen; picture-in-picture" allowFullScreen style= {{ position:"absolute",top:0,left:0,width:"100%",height:"100%"}} title="measurement-report"></iframe>
</div> </div>

View File

@ -255,13 +255,11 @@ module.exports = {
disableSwitch: false, disableSwitch: false,
// respectPrefersColorScheme: true, // respectPrefersColorScheme: true,
}, },
/* announcementBar: {
announcementBar: { id: 'healthimaging',
id: 'supportus', content:
content: '🚀 AWS has announced the general availability of <a target="_blank" rel="noopener noreferrer" href=" https://aws.amazon.com/about-aws/whats-new/2023/07/general-availability-aws-healthimaging/">HealthImaging!</a> Easily connect your OHIF to it. Learn more <a target="_blank" rel="noopener noreferrer" href="https://github.com/RadicalImaging/ohif-aws-healthimaging">Here!</a>! 🌟',
'⭐️ If you like Docusaurus, give it a star on <a target="_blank" rel="noopener noreferrer" href="https://github.com/OHIF/Viewers">GitHub</a>! ⭐️', },
},
*/
prism: { prism: {
theme: require('prism-react-renderer/themes/github'), theme: require('prism-react-renderer/themes/github'),
darkTheme: require('prism-react-renderer/themes/dracula'), darkTheme: require('prism-react-renderer/themes/dracula'),

View File

@ -36,6 +36,8 @@
--ifm-color-warning: #e9e489; --ifm-color-warning: #e9e489;
--ifm-alert-color: #333333; --ifm-alert-color: #333333;
--ohif-color-border: #7bb2ce; --ohif-color-border: #7bb2ce;
--site-primary-hue-saturation: 167 68%;
--site-primary-hue-saturation-light: 167 56%; /* do we really need this extra one? */
} }
html[data-theme='dark'] .header-github-link:before { html[data-theme='dark'] .header-github-link:before {
@ -286,3 +288,20 @@ html[data-theme='dark'] .docusaurus-highlight-code-line {
@apply bg-red-300 text-red-500; @apply bg-red-300 text-red-500;
@apply dark:bg-blue-900 dark:text-blue-100; @apply dark:bg-blue-900 dark:text-blue-100;
} }
div[class^='announcementBar_'] {
--site-announcement-bar-stripe-color1: hsl(
var(--site-primary-hue-saturation) 85%
);
--site-announcement-bar-stripe-color2: hsl(
var(--site-primary-hue-saturation) 95%
);
background: repeating-linear-gradient(
35deg,
var(--site-announcement-bar-stripe-color1),
var(--site-announcement-bar-stripe-color1) 20px,
var(--site-announcement-bar-stripe-color2) 10px,
var(--site-announcement-bar-stripe-color2) 40px
);
font-weight: 700;
}

5114
yarn.lock

File diff suppressed because it is too large Load Diff