公司在进行医学影像处理的时候选择了ohif国外dicom浏览器框架,框架是基于Cornerstone.js基石封装的react框架。

由于这一块目前在国内做的很少所以相关资料基本没有。框架一些bug影响业务。主要讲解一下遇到的一些比较紧急的问题。

github地址https://github.com/OHIF/Viewers

ohif地址https://ohif.org/

文档地址https://docs.ohif.org/development/getting-started.html

从github上clone下来,直接

yarn install

yarn run dev

就可以直接在3000端口查看dicom,这是因为框架内内置了第三方dicom服务。

实际上我们需要自己搭建dicom服务,具体看文档就行了。

说一下我们遇到的问题,首先在触摸屏上,左侧列表滑动不了,经查看是拖动事件跟滑动事件冲突导致。原因很简单也很好处理,找到左边的列表文件,设置drag为false,这个拖动在触摸屏下没有任何意义。

再有就是在dicom进行标注的时候,触摸结束点跟手指有一定距离,经查发现是最底层的基石文件有一个57像素的偏差,目的是觉得人的手指大概57像素,为了更人性化,然而实际效果是看着很难受,感觉不受控,所以更改这个参数重新打包会解决这个问题。

再有就是长按黑屏,这个是长按时拿不到结构,无法返回数据报错,在报错的地方进行空数组返回可以解决。

加载滚动条的问题,产品想要了解加载的进度,这个在之前的版本中有,但是添加进度条会让整个渲染变慢,所以最新版取消了进度条设置。

加载dicom假死,文件删除提示,加载进度优化等等,问题实在太多,后面会抽时间专门贴这些问题的代码。

框架时国外的,国内资料太少,相关资料需要大家尽量谷歌查询。有问题也可以给我留言。