本帖最后由 coder_fang 于 2020-1-13 14:23 编辑
当使用medicalviewer与MedicalViewerMultiCell进行图像开发时,在某些Study中会遇见以下情况:
测试用例:使用2*2布局,并打开参考线显示,先使用1,2显示 study1的不同序列,配置参数后正常显示参考线,此时,使用1,3,4或2,3,4显示 Study2的Series时,只有3,4参考线能互相显示,而1或2(之前显示过Study1的图像)与3,4已失去联系,无法与3,4同步显示,确定所有参数设置正确。此时将1,2,3,4都设置为Study2的不同Series图像并设置正确参数后,1,2可以互相参考线显示,3,4互相参考线显示。而如果启动一开始不显示Study1图像,而所有窗口都进行Study2显示,则4个窗口互相联动,显示正常。
此过程并没有删除1,2的Cell,而是将Cell.Image重新赋值为Study2的Series图像,并配置参数后进行的。如果所有的Cell都重新new 出来,而不是直接进行Cell.Image的重新赋值,则所有测试都正常,参考线都正常(但重新new cell并add到viewer时会有明显闪烁,所以目前不使用new,而是在原cell上重新赋值并重新设置参数)。
注:在Cell.Image重新赋值后,FrameOfReferenceUID,ImageOrientation,SetImagePosition ,PixelSpacing都进行了设置并设置正确。
个人分析是Cell.Image在重新赋值之前,没有对Cell内部的某些变量进行重置,或清空,但我已试过很多变量也无法正常,所以进行求助。
效果如下图:同样study,上边与下边图像也一样,只能两两显示 参考线了:
图一选中窗口1,只有2显示参考线
图二选中3,只有4显示参考线
|