我一直在研究一些dicom系列,发现厚度属性和itkimage.GetSpacing()2值并不总是一致的。
例如,dcm文件中编码的厚度(0018,0050)值为1.5 mm,但z轴上所指示的相应间距为1.00。那么,我应该使用什么值来表示z轴上相邻体素中心s之间的物理距离?如果它们是不同的东西,那么间隔实际上意味着什么?
我在python中检索厚度和间距值,如下所示:
//thickness using dicom
thickness = dicom.read_file(dcm_file)[0x0018, 0x0050].value
//spacing using simpleITK
r
我试图在zip文件夹中读取dicom文件,但当我运行此代码时,会出现以下错误:
Errno 13拒绝许可:“病人_DICOM/”
file = patient.PATIENT_DICOM
with zipfile.ZipFile(file,'r') as zip:
zip.extractall()
ls= zip.infolist()
slices = [pydicom.read_file(s.filename) for s in ls]
我想从DICOM中提取所有具有相同组号的dicom标记。例如,我想提取属于组0010的所有标记。我试过这个,当然它犯了一个错误:
import pydicom
ds=pydicom.dcmread('dicomfile.dcm')
print(ds[0x0008,0x0020]) # print the tag corresponding to group number 0008, and element number 0020
print(ds[0x0010,:]) # ERROR, does not print a list of all tags belonging
我目前正在做一个处理DICOM文件的项目。我成功地解析了一组DICOM文件中的数据。当我试图处理DICOM文件的像素数据并将其传递到画布以显示它时,就会出现问题。 我使用了"Dwv“库来解析DICOM文件。它帮助我以数组的形式获取像素数据,并将其传递给创建画布上下文的新ImageData的函数。 function buildCanvas(width, height, pixelData) {
var imgData = context.createImageData(width, height);
for (var i = 0; i < imgData.data
我目前正在做一个任务,我需要使用NumPy,Matplotlib,(Marchingcubes,Triangulation或Volumemodel)将DICOM切片绘制成一个3D模型。 我已经尝试了这个网站上的方法: https://www.raddq.com/dicom-processing-segmentation-visualization-in-python/ 但不幸的是,这对我来说并不奏效 import pydicom
import numpy as np
import os
import matplotlib.pyplot as plt
import ipywidgets as
由于显示了,MPR视图,基于字典的。我用一系列的dicom文件制作了一个3D数组。我从冠状面和矢状面展示。
My 3D array includes:
- z = count of dicoms
- c = column value for every dicoms
- r = Row value for every dicoms
但我有个问题。当切片之间有一定的空间时,用这种方式生成的图像并不能显示正确的视图。因为我想不出他们之间的模拟距离!
我不知道如何计算切片之间的空间?我想在切片之间增加额外的空间。例如,如果切片之间的空间是4,我必须添加4倍z内部切片。
我希望能达到我的意思
我正在使用SimpleITK读取DICOM,并将特定的切片保存为PNG文件。我可以将一个新的DICOM文件写回磁盘,而且看起来和预期的一样。但是,每当我尝试将其保存为任何其他格式时,它都会被严重损坏。我的意思是,它看起来一点也不像输入,它完全是乱码。
代码如下:
var imageReader = new ImageFileReader();
imageReader.SetOutputPixelType(PixelIDValueEnum.sitkUInt8);
var dicomFileNames = ImageSeriesReader.GetG
我试图将不同的DICOM文件堆叠成一个多片系列,以便在ITK上可视化它们。然而,我似乎无法获得一个有效的DICOM系列。
我已经排序了所有的文件与他们的切片定位,我有许多订购单.dcm文件,与他们的原始信息。我用一个uid替换了它们的所有原始系列实例uid,用我设置为'999‘的一个自定义序列号替换了它们的序列号(因此它们属于一个系列)。对于所有文件,图像方向设置为[1;0;0;0;1;0],对于所有文件,切片厚度设置为8mm。然后,我创建了一个包含原始切片positionings [info(num)]的信息结构数组。
我试过这样的方法:
for i=1:num %where num
我应该用Matlab表示来自2D图像的三维体图像。DICOM格式的二维图像数目为90幅。此外,每幅图片的大小为512 * 512。这个任务是关于Z轴中切片之间的距离.以下是我的代码:
**
clear variables
clear all
close all
names=dir('C:\Users\User\Desktop\Projekt\2-DICOM-Daten von einem Cone-Beam CT (CBCT)\CT.Test CatPhan
CBCT A\*.dcm');
for i=1:size(names,1) %names is a struct co
我有多个Dicom格式的CT数据集,所有数据集都有不同数量的切片或2D CT图像。
示例:
数据集1形状:(512 X 512) x 100
数据集2形状:(512 X 512) x 130
数据集3形状:(512 X 512) x 122
如何调整数据的大小,使数据集的深度(切片数)相同?
此数据将被传递到一个输入形状为:片、512、512、通道1的二维CNN。
谢谢你的帮助