我一直在研究一些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
我将DCMTK用于C++项目,并希望从dicom文件中检索像素。我使用了这个基本示例:
DicomImage *image = new DicomImage("test.dcm");
if (image != NULL)
{
if (image->getStatus() == EIS_Normal)
{
if (image->isMonochrome())
{
ima
我从dicom格式创建了一个三维数字数组(shape: 133 x 512 x 512)。给定一个结节位置的中心点,我如何提取一个尺寸为40毫米x 40毫米x 40毫米的三维体积。我不知道像素到毫米的转换是如何发生的?我已经在这里附上了数据。结节的位置为(317,363,89),即(x,y,z),其中z表示切片数。所以在这个例子中,结节位于切片89上。这是。它是nrrd格式的。在dicom信息中,切片厚度为2.5,像素间距为'0.703125','0.703125‘。
我试图通过使用Imagewriter来从多个JPEG文件中创建多帧dicom文件,但是writer.canWriteSequence()总是给出false,因此无法将jpeg文件写入多帧dicom文件,所以有什么方法可以从jpeg图像或脑酒窝创建多帧dicom文件吗?
public Attributes createDicomHeader(BufferedImage sampleFrame, int numberOfFrames) {
// Get some image information from the sample image:
// All fr
尝试简化我拥有的这个.bat文件。
我在多个客户端上有一个.bat文件,用户可以通过执行特定任务的快捷方式运行该文件。在某些日子里,我需要修改所有远程客户端上的.bat文件。
我只想在一个位置修改.bat文件(保持其名称不变),然后通过自己运行.bat文件将修改后的文件发送给所有客户端(覆盖现有副本)。
这是我到目前为止所拥有的。我想要一个更优雅的方式来做这件事。
@echo on
SET client1=\\deptpc1\c$\dicom
SET client2=\\deptpc2\c$\dicom
SET client3=\\deptpc3\c$\dicom
SET client4=\\
我使用pydicom来读取dicom文件(病人名称),但我的所有dicom文件都名为i34、i67等(这些名称没有特定的顺序或顺序)。我的问题是:我在txt文件中有一个病人的名字列表,我希望搜索这个txt文件中的每个病人的名字和所有的dicom文件,查找他们在dicom文件中的PatientName (对于那些不熟悉的人,每个dicom文件都有很多病人的信息,其中一个是PatientName)。
例:
txt档案: John George Ringo Paul
Dicom文件: i54 i98 i64 i12
我想要的:带着约翰,搜索i54,i98,i64,i12来参加PatientName比
我有带有核磁共振图像的文件夹,我试图用我自己的数据复制MRnet研究。它们的模型工作在每个主题的一个.npy文件上,形状(s,3,256,256),s是给定主题的切片数(不同主题)。
我看过几种不同的方法来解决这个问题,但似乎没有一个对我有用。我得到的最接近的是,至少将.dcm文件转换为JPEG,使用:
import pydicom
import os
import numpy as np
import cv2
dicom_folder = 'C:/Users/GlaDOS/PythonProjects/dicomnpy/DICOMFILES/sub1/' # Set the