PixelData数据传输两个问题,第一个数据传输前后的格式转换。第二个数据的压缩与解压。
第一步数据传输前后的格式转换
后台
1.通过Attributes 得到像素字节数组:pixelModel.setPixelData(att.getBytes(Tag.PixelData));
2.转化为二进制字节流缓冲流:ByteBuffer buffer=ByteBuffer.wrap(dicom2json.getCompressPixelData());
3.发送数据:this.session.getBasicRemote().sendBinary(buffer);
前端
1.在WebSocket的连接时声明webSocket接收到的数据类型(如果不声明的话默认是blob)
if ('WebSocket' in window) {
websocket = new WebSocket("ws://localhost:8080/WebDemo2/test");
websocket.binaryType = "arraybuffer"; //关键步骤。设置webSocket接收到的数据对象类型
}

本文详细介绍了基于WebSocket传输DICOM的PixelData时遇到的两个关键问题:数据格式转换和数据压缩解压。在第一步中,分别阐述了后台和前端如何进行数据格式的转化。在第二步,展示了后台的压缩代码以及前端如何解压并转化为int16Array。至此,实现了完整的数据传输与压缩解压流程。
最低0.47元/天 解锁文章
2282

被折叠的 条评论
为什么被折叠?



