标签: dicom

使用Javascript解码JPEG2000 bitarray图像

我正在使用带有FileApi的HTML5技术.

我的问题很简单,但我在2天前搜索,我在网上找不到任何东西

我有一个DicomFile.我使用HTML5中的FileApi将其分解,并获取所有信息.最后,我得到一个字节数组中的图像数据.问题是我无法解码JPEG2000图像并在浏览器中显示它(Chrome,FireFox,任何).例如,如果图像数据以JPEG格式编码,我在浏览器中显示图像完全没有问题,但问题在于JPEG2000或JPEG-LS.我知道那些图像格式无法在网页浏览器中显示,但它必须在Javascript中存在一个库来解码JPEG2000或JPEG-LS中的图像数据.这非常重要,我有点贬低.

如果我找不到任何办法,我将不得不改变我的所有工作.

非常感谢你提前

javascript decode dicom jpeg2000 fileapi

13
推荐指数
2
解决办法
9611
查看次数

重新缩放斜率和重新缩放截距

我有几个问题,重新调整斜率重新调整拦截CT*DICOM*:

  1. 他们是否习惯将原始数据从Scanner传输到Hounsfield数据集,水数为0,空气为-1000?
  2. 我在图像显示组中.如何知道重新缩放斜率和重新缩放截距值?
  3. 重新缩放斜率和重新缩放截距的确切含义是什么?
  4. 他们如何确定?谢谢,

dicom

13
推荐指数
1
解决办法
1万
查看次数

如何使用pydicom创建JPEG压缩的DICOM数据集?

我正在尝试使用pydicom创建JPEG压缩的DICOM图像。可以在此处找到有关彩色DICOM图像的不错的原始资料,但这主要是理论和C ++。在下面的代码示例中,我在内部创建了一个淡蓝色的省略号output-raw.dcm(未压缩),如下所示:

示例DICOM图像

import io
from PIL import Image, ImageDraw
from pydicom.dataset import Dataset
from pydicom.uid import generate_uid, JPEGExtended
from pydicom._storage_sopclass_uids import SecondaryCaptureImageStorage

WIDTH = 100
HEIGHT = 100


def ensure_even(stream):
    # Very important for some viewers
    if len(stream) % 2:
        return stream + b"\x00"
    return stream


def bob_ross_magic():
    image = Image.new("RGB", (WIDTH, HEIGHT), color="red")
    draw = ImageDraw.Draw(image)
    draw.rectangle([10, 10, 90, 90], fill="black")
    draw.ellipse([30, 20, 70, 80], fill="cyan")
    draw.text((11, 11), "Hello", fill=(255, 255, 0))
    return …
Run Code Online (Sandbox Code Playgroud)

python jpeg imaging dicom pydicom

13
推荐指数
1
解决办法
207
查看次数

c#:如何读取文件的部分?(DICOM)

我想在C#中读取DICOM文件.我不想做任何花哨的事情,我现在只想知道如何读取元素,但首先我实际上想知道如何读取标题以查看是否是有效的DICOM文件.

它由二进制数据元素组成.前128个字节未使用(设置为零),后跟字符串'DICM'.接下来是标题信息,它被组织成组.

一个示例DICOM标头

First 128 bytes: unused DICOM format.
Followed by the characters 'D','I','C','M'
Followed by extra header information such as:

0002,0000, File Meta Elements Groups Len: 132
0002,0001, File Meta Info Version: 256
0002,0010, Transfer Syntax UID: 1.2.840.10008.1.2.1.
0008,0000, Identifying Group Length: 152
0008,0060, Modality: MR
0008,0070, Manufacturer: MRIcro

在上面的示例中,标题被组织成组.组0002十六进制是文件元信息组,其包含3个元素:一个定义组长度,一个存储文件版本,它们存储传输语法.

问题

  • 如何通过检查128字节前导码后面的'D','I','C','M'字符来读取头文件并验证它是否是DICOM文件?
  • 如何继续解析读取数据其他部分的文件?

c# file-io dicom

12
推荐指数
1
解决办法
1万
查看次数

DICOM C-GET与C-MOVE

我必须开发一个SCU(服务类用户)应用程序来查询PACS并检索DICOM图像.

我应该使用C-GET或C-MOVE DICOM协议来检索图像吗?

dicom

11
推荐指数
2
解决办法
1万
查看次数

可在DICOM中使用的专用标签号

我想为现有的DICOM图像添加一些私有标签.

我想知道我可以使用哪些奇数标签.我是否需要通知任何组织我的意图?

dicom

11
推荐指数
1
解决办法
8763
查看次数

如何在matlab中显示dicom图像?

我想在matlab中询问这个函数 dicomread

例如:

a = dicomread ('m.dcm');
imshow(a)
Run Code Online (Sandbox Code Playgroud)

屏幕上显示的图像很暗......我想知道它是黑暗而不正常.我检查了不同的dicom图像,但问题仍然存在.我希望你能帮助我,并提前感谢.

matlab image-processing dicom

10
推荐指数
2
解决办法
1万
查看次数

dicom窗口中心,窗口宽度

我正在尝试实施dicom veiwer.我以为我差不多完成了.但有些CT图像与MATLAB不同.所以我检查了标签.然后我发现了一些东西

这些图像具有窗口中心和窗口宽度的两个值.

窗口中心= [2000],窗口宽度= [8000]

然后我计算yMin,yMax.

yMin =(winCenter - 0.5*winWidth)
yMax =(winCenter + 0.5*winWidth)

if(inPixel <= yMin)
  outpixel = 0;
else if (inPixel > yMax) 
  outPixel = 255;  
else  
  outPixel = (((i - (winCenter - 0.5)) / (winWidth - 1)) + 0.5) * 255;
Run Code Online (Sandbox Code Playgroud)

但问题是这种情况.

窗口中心= [-600; 40],窗口宽度= [400; 1200]

我该如何计算这个值?任何人都知道如何实现这一点.

dicom

10
推荐指数
1
解决办法
6296
查看次数

如何确定DICOM系列是3D体积还是一系列图像?

我们正在为dicom文件编写一个导入器.

如果一系列图像形成3D体积或仅仅是一系列2D图像,人们通常如何做出反应?

是否有一种通用的方法来为大多数供应商做出决定?我看了DICOM标签,找不到明显的解决方案.

dicom

9
推荐指数
1
解决办法
3263
查看次数

什么是DICOM中的多帧图像?

DICOM中的MultiFrame图像是什么.多帧与单个系列中的多个图像有何不同?

image-processing dicom

9
推荐指数
1
解决办法
7414
查看次数