dicom-viewer/dwv.js

3 lines
436 KiB
JavaScript
Raw Normal View History

2022-10-24 17:28:07 +03:00
/*! dwv 0.30.8 2022-01-04 12:43:27 */
!function(e,t){"function"==typeof define&&define.amd?define(["i18next","i18next-http-backend","i18next-browser-languagedetector","jszip","konva","magic-wand-tool"],t):"object"==typeof module&&module.exports?module.exports=t(require("i18next"),require("i18next-http-backend"),require("i18next-browser-languagedetector"),require("jszip"),require("konva/cmj"),require("magic-wand-tool")):e.dwv=t(e.i18next,e.i18nextHttpBackend,e.i18nextBrowserLanguageDetector,e.JSZip,e.Konva,e.MagicWand)}(this,function(i,r,o,c,y,p){function e(e){return void 0!==e&&void 0!==e.default}var s=void 0!==s?s:"undefined"!=typeof self?self:"undefined"!=typeof global?global:{};e(i)&&(i=i.default),e(r)&&(r=r.default),e(o)&&(o=o.default),e(y)&&(y=y.default);var A=A||{};A.App=function(){var r=this,S=null,m=null,h=null,f=null,p=null,y=null,e=new A.gui.Style,n=new A.utils.ListenerHandler;function D(e){n.fireEvent(e)}function v(e){e.type="loadstart",D(e)}function C(e){e.type="loadprogress",D(e)}function L(e){void 0===e.data&&A.logger.error("Missing loaditem event data."),void 0===e.loadtype&&A.logger.error("Missing loaditem event load type.");var t=e.isfirstitem,n=0;void 0!==e.timepoint&&(n=e.timepoint.id);var i=null;"image"===e.loadtype?(t&&0===n?m.addNew(e.data.image,e.data.info):m.update(e.loadid,e.data.image,e.data.info,n),i=e.data.info):"state"===e.loadtype&&((n=new A.io.State).apply(r,n.fromJSON(e.data)),i="state"),D({type:"loaditem",data:i,source:e.source,loadtype:e.loadtype}),"image"===e.loadtype&&t&&S.viewOnFirstLoadItem&&r.render(e.loadid)}function T(e){e.type="load",D(e)}function I(e){e.type="loadend",D(e)}function w(e){e.type="error",D(e)}function P(e){e.type="abort",D(e)}function a(e,t){var n=m.get(e);if(!n)throw new Error("Cannot initialise layers with data id: "+e);var i=p.getLayerGroupWithElementId(t);if(!i)throw new Error("Cannot initialise layers with group id: "+t);var r=n.image.getGeometry();p.unbindLayerGroups();var o=(new A.ViewFactory).create(new A.dicom.DicomElementsWrapper(n.meta),n.image),a=A.gui.getViewOrientation(r,i.getTargetOrientation());o.setOrientation(a);var s=1;0!==e&&(o.setColourMap(A.image.lut.rainbow),s=.5);t=i.addViewLayer();t.setView(o);n=r.getSize(a).get2D(),o=r.getSpacing(a).get2D();t.initialise(n,o,e),t.setOpacity(s);var l,a=null;0!==e&&(s=m.get(0).image.getGeometry().getOrigin(),l=r.getOrigin(),a=s.minus(l),t.setBaseOffset(a)),m.addEventListener("imagechange",t.onimagechange),p.bindLayerGroups(),h&&h.hasTool("Draw")&&((l=i.addDrawLayer()).initialise(n,o,e),l.setPlaneHelper(t.getViewController().getPlaneHelper()),t=[(t=t.getViewController()).getCurrentIndex().getValues(),t.getCurrentPosition().getValues()],i.updateLayersToPositionChange({value:t}),0!==e&&l.setBaseOffset(a));for(var u={x:0,y:0},c=0;c<m.length();++c){var g=m.get(c).image.getGeometry(),d=A.gui.getViewOrientation(g,i.getTargetOrientation()),x=g.getSize(d).get2D(),g=g.getSpacing(d).get2D(),d=x.x*g.x;d>u.x&&(u.x=d);g=x.y*g.y;g>u.y&&(u.y=g)}i.fitToContainer(u)}this.getImage=function(e){return m.get(e).image},this.getLastImage=function(){return m.get(m.length()-1).image},this.setImage=function(e,t){m.setImage(e,t)},this.setLastImage=function(e){m.setImage(m.length()-1,e)},this.getMetaData=function(e){return m.get(e).meta},this.getNumberOfLoadedData=function(){return m.length()},this.canScroll=function(){return p.getActiveLayerGroup().getActiveViewLayer().getViewController().canScroll()},this.canWindowLevel=function(){return p.getActiveLayerGroup().getActiveViewLayer().getViewController().canWindowLevel()},this.getAddedScale=function(){return p.getActiveLayerGroup().getAddedScale()},this.getBaseScale=function(){return p.getActiveLayerGroup().getBaseScale()},this.getOffset=function(){return p.getActiveLayerGroup().getOffset()},this.getToolboxController=function(){return h},this.getActiveLayerGroup=function(){return p.getActiveLayerGroup()},this.getViewLayersByDataIndex=function(e){return p.getViewLayersByDataIndex(e)},this.getLayerGroupById=function(e){return p.getLayerGroup(e)},this.getNumberOfLayerGroups=function(){return p.getNumberOfLayerGroups()},this.get