-
Notifications
You must be signed in to change notification settings - Fork 0
/
20.bundle.887a3c61304f3f447da2.js.map
1 lines (1 loc) · 6.2 KB
/
20.bundle.887a3c61304f3f447da2.js.map
1
{"version":3,"sources":["webpack:////Users/kaiyuhsu/Documents/projects/medervahealth/ohif-source/extensions/dicom-microscopy/src/DicomMicroscopyViewport.js"],"names":["DicomMicroscopyViewport","props","error","debouncedResize","container","React","createRef","debounce","viewer","resize","displaySet","dicomWebClient","searchInstanceOptions","studyInstanceUID","StudyInstanceUID","seriesInstanceUID","SeriesInstanceUID","searchForInstances","then","instances","promises","i","length","sopInstanceUID","retrieveInstanceOptions","promise","retrieveInstanceMetadata","metadata","push","Promise","all","filter","m","api","microscopyViewer","VLWholeSlideMicroscopyImageViewer","client","retrieveRendered","console","servicesManager","services","UINotificationService","LoggerService","message","show","autoClose","title","type","render","this","viewportData","installOpenLayersRenderer","current","style","width","height","className","ReactResizeDetector","handleWidth","handleHeight","onResize","onWindowResize","state","JSON","stringify","ref","Component"],"mappings":"4mCAIMA,E,YAOJ,WAAYC,GAAO,M,IAAA,O,4FAAA,S,EACjB,K,EAAA,eAAMA,GAAN,G,gDADiB,eANX,CACNC,MAAO,OAKU,gBAFV,MAEU,yBA4GF,WACf,EAAKC,qBA1GL,EAAKC,UAAYC,IAAMC,YAEvB,EAAKH,gBAAkBI,KAAS,WAC1B,EAAKC,QAAQ,EAAKA,OAAOC,WAC5B,KAPc,E,iTAYOL,EAAWM,GAAY,WACzCC,EAAiBD,EAAWC,eAE5BC,EAAwB,CAC5BC,iBAAkBH,EAAWI,iBAC7BC,kBAAmBL,EAAWM,mBAGhCL,EACGM,mBAAmBL,GACnBM,MAAK,SAAAC,GAEJ,IADA,IAAMC,EAAW,GACRC,EAAI,EAAGA,EAAIF,EAAUG,OAAQD,IAAK,CACzC,IAAME,EAAiBJ,EAAUE,GAAG,YAAb,MAAkC,GAEnDG,EAA0B,CAC9BX,iBAAkBH,EAAWI,iBAC7BC,kBAAmBL,EAAWM,kBAC9BO,kBAGIE,EAAUd,EACbe,yBAAyBF,GACzBN,MAAK,SAAAS,GAEJ,GAAqB,WADHA,EAAS,GAAG,YAAZ,MACJ,GACZ,OAAOA,EAAS,MAGtBP,EAASQ,KAAKH,GAEhB,OAAOI,QAAQC,IAAIV,MAEpBF,KAzBH,e,EAAA,G,EAAA,yBAyBQ,WAAMS,GAAN,yGACJA,EAAWA,EAASI,QAAO,SAAAC,GAAC,OAAIA,KAD5B,SAGkB,oCAHlB,gBAGIC,EAHJ,EAGIA,IAGFC,EAAmBD,EAAIE,kCAE7B,IACE,EAAK3B,OAAS,IAAI0B,EAAiB,CACjCE,OAAQzB,EACRgB,WACAU,kBAAkB,IAEpB,MAAOnC,GACPoC,QAAQpC,MAAM,sCAAuCA,GADvC,EAKV,EAAKD,MAAMsC,gBAAgBC,SAF7BC,EAHY,EAGZA,sBACAC,EAJY,EAIZA,cAEED,IACIE,EACJ,qFACFD,EAAcxC,MAAM,CAAEA,QAAOyC,YAC7BF,EAAsBG,KAAK,CACzBC,WAAW,EACXC,MAAO,sBACPH,UACAI,KAAM,WAKZ,EAAKvC,OAAOwC,OAAO,CAAE5C,cAjCjB,0C,+KAzBR,yD,0CA8DkB,IACVM,EAAeuC,KAAKhD,MAAMiD,aAA1BxC,WAERuC,KAAKE,0BAA0BF,KAAK7C,UAAUgD,QAAS1C,K,+BAIvD,IAAM2C,EAAQ,CAAEC,MAAO,OAAQC,OAAQ,QACvC,OACE,yBAAKC,UAAW,wBAAyBH,MAAOA,GAC7CI,KACC,kBAAC,IAAD,CACEC,aAAW,EACXC,cAAY,EACZC,SAAUX,KAAKY,iBAGlBZ,KAAKa,MAAM5D,MACV,4BAAK6D,KAAKC,UAAUf,KAAKa,MAAM5D,QAE/B,yBAAKmD,MAAOA,EAAOY,IAAKhB,KAAK7C,kB,8BA7GD8D,aAwHvBlE","file":"20.bundle.887a3c61304f3f447da2.js","sourcesContent":["import React, { Component } from 'react';\nimport ReactResizeDetector from 'react-resize-detector';\nimport debounce from 'lodash.debounce';\n\nclass DicomMicroscopyViewport extends Component {\n state = {\n error: null,\n };\n\n viewer = null;\n\n constructor(props) {\n super(props);\n\n this.container = React.createRef();\n\n this.debouncedResize = debounce(() => {\n if (this.viewer) this.viewer.resize();\n }, 100);\n }\n\n // install the microscopy renderer into the web page.\n // you should only do this once.\n installOpenLayersRenderer(container, displaySet) {\n const dicomWebClient = displaySet.dicomWebClient;\n\n const searchInstanceOptions = {\n studyInstanceUID: displaySet.StudyInstanceUID,\n seriesInstanceUID: displaySet.SeriesInstanceUID,\n };\n\n dicomWebClient\n .searchForInstances(searchInstanceOptions)\n .then(instances => {\n const promises = [];\n for (let i = 0; i < instances.length; i++) {\n const sopInstanceUID = instances[i]['00080018']['Value'][0];\n\n const retrieveInstanceOptions = {\n studyInstanceUID: displaySet.StudyInstanceUID,\n seriesInstanceUID: displaySet.SeriesInstanceUID,\n sopInstanceUID,\n };\n\n const promise = dicomWebClient\n .retrieveInstanceMetadata(retrieveInstanceOptions)\n .then(metadata => {\n const ImageType = metadata[0]['00080008']['Value'];\n if (ImageType[2] === 'VOLUME') {\n return metadata[0];\n }\n });\n promises.push(promise);\n }\n return Promise.all(promises);\n })\n .then(async metadata => {\n metadata = metadata.filter(m => m);\n\n const { api } = await import(\n /* webpackChunkName: \"dicom-microscopy-viewer\" */ 'dicom-microscopy-viewer'\n );\n const microscopyViewer = api.VLWholeSlideMicroscopyImageViewer;\n\n try {\n this.viewer = new microscopyViewer({\n client: dicomWebClient,\n metadata,\n retrieveRendered: false,\n });\n } catch (error) {\n console.error('[Microscopy Viewer] Failed to load:', error);\n const {\n UINotificationService,\n LoggerService,\n } = this.props.servicesManager.services;\n if (UINotificationService) {\n const message =\n 'Failed to load viewport. Please check that you have hardware acceleration enabled.';\n LoggerService.error({ error, message });\n UINotificationService.show({\n autoClose: false,\n title: 'Microscopy Viewport',\n message,\n type: 'error',\n });\n }\n }\n\n this.viewer.render({ container });\n });\n }\n\n componentDidMount() {\n const { displaySet } = this.props.viewportData;\n\n this.installOpenLayersRenderer(this.container.current, displaySet);\n }\n\n render() {\n const style = { width: '100%', height: '100%' };\n return (\n <div className={'DicomMicroscopyViewer'} style={style}>\n {ReactResizeDetector && (\n <ReactResizeDetector\n handleWidth\n handleHeight\n onResize={this.onWindowResize}\n />\n )}\n {this.state.error ? (\n <h2>{JSON.stringify(this.state.error)}</h2>\n ) : (\n <div style={style} ref={this.container} />\n )}\n </div>\n );\n }\n\n onWindowResize = () => {\n this.debouncedResize();\n };\n}\n\nexport default DicomMicroscopyViewport;\n"],"sourceRoot":""}