1理论基础

使用DCM格式文件,进行三维重建。要了解DCM格式,可参考 医疗CT断层图像DICOM标准和工业CT断层图像DICONDE标准
在使用DCM格式文件进行三维重建时,实际上是要从若干DCM文件中,获得到三维结构信息。然后再使用面绘制或体绘制的方面,重建出三维图像。

2 代码(python)

prepro.py

import matplotlib.pyplot as plt
import pydicom.uid
import sys
from PyQt5 import QtGui
import os
import pydicom
import glob
from PIL import *
import matplotlib.pyplot as plt
from pylab import *
from tkinter.filedialog import *
import numpy
import SimpleITK as sitk
def window(img):
    win_min = 350
    win_max = 50
    for i in range(img.shape[0]):
        img[i] = 255.0 * (img[i] - win_min) / (win_max - win_min)
        min_index = img[i] < 0
        img[i][min_index] = 0
        max_index = img[i] > 255
        img[i][max_index] = 255
        img[i] = img[i] - img[i].min()
        c = float(255) / img[i].max()
        img[i] = img[i] * c
    return img.astype(np.uint8)
def get_pixels_hu(ct_array,slope,intercept):
    if slope != 1:
        ct_array = slope*ct_array
    ct_array += intercept
    return ct_array
PathDicom = "D:/xiangmu/CT/data/CQ500_CT/CQ500CT181 CQ500CT181/Unknown Study/CT 0.625mm"
# PathDicom = r'D:\xiangmu\CT\data\CQ500_CT\CQ500CT0 CQ500CT0\Unknown Study\CT 4cc sec 150cc D3D on'
lstFilesDCM = []
SaveRawDicom = "SaveRaw/"
reader=sitk.ImageSeriesReader()
series_IDs=sitk.ImageSeriesReader.GetGDCMSeriesIDs(PathDicom)
nb_series=len(series_IDs)
# print(nb_series)
series_file_names=sitk.ImageSeriesReader.GetGDCMSeriesFileNames(PathDicom,series_IDs[0])
reader.SetFileNames(series_file_names)
image=reader.Execute()
# median 滤波
sitk_median = sitk.MedianImageFilter()
sitk_median.SetRadius(2)
image = sitk_median.Execute(image)
# sitk.WriteImage(sitk_median, 'sitk_median.mha')
print('before:',image)
# for root,dirs,files in os.walk(PathDicom):
#     for file in files:
# print(os.path.join(root,file))
# image=sitk.ReadImage(os.path.join(root,file))
resample=sitk.ResampleImageFilter(
在VTK中,颜色映射的过程是由映射器mapper完成的。最终该标量值映射为何种颜色,还需要看颜色查询表中颜色的分配情况。如果不手动创建一个查询表,则映射器会使用一个默认的映射表。 我们可以手动创建一个颜色查找表,颜色查找表中允许我们自由设定颜色值。vtkLookupTable可以帮助我们来完成这个工作。 //定义一个颜色查找表 vtkLookupTable *lut=vtkLookupTable:...
python-vtk做 医学 nii格式的 三维重建 课题的开始关于多层 三维重建 医学 影像+工业 CT )使用vtk-Python完成腹部nii数据的 三维重建 与人机交互 课题的开始 导师给定了一个课题–《 医学 影像 CT 三维重建 》,一脸蒙蔽了么,因为实验室的主流技术还是深度学习做 医学 影像和自然 图像 的处理(2D),从来没有做过三维的东西。但是没有办法,抱着试一试的心态,开始查阅相关文献。首先说明,主流的 三维重建 ...
Java 医学 CT 图像 三维重建 代码 需要很高的技术水平和大量的专业知识。首先,需要了解 CT 扫描的原理和数据格式,然后使用Java编程语言对数据进行读取和处理。接着,可以使用 图像 处理技术如滤波、分割等对 图像 进行处理,最终对 数据进行 三维重建 。 在Java中,可以使用开源的工具包如ImageJ和ITK进行 图像 处理,当然也可以自行编写算法。这里着重介绍ITK工具包的使用。 ITK是一个用于处理 医学 图像 的开源库,提供了丰富的 图像 处理算法和工具。首先,需要将 CT 图像 数据转换为ITK格式,可以使用ITK提供的工具对数据进行转换。然后,可以使用ITK的 绘制 算法对 数据进行 三维重建 ,可以选择不同的算法进行 绘制 ,如marching cubes等。 在处理 医学 图像 时,需要考虑到数据的精度和准确性,因此在编写 代码 时需要十分谨慎和严谨。此外,还需要考虑到程序的效率和稳定性,因此需要对 代码 进行不断优化和测试。 总之,Java 医学 CT 图像 三维重建 代码 需要对 医学 知识和 图像 处理技术都有深入了解和掌握,并在实践中不断积累经验和优化 代码 才能取得良好的效果。