【Python医学影像从超详细入门】3.窗位窗宽调整

本文聚焦Python医学影像处理,介绍针对不同影像调整窗位窗宽,可获更好视觉效果并改善深度学习建模性能。还提供NII、NII.GZ、NRRD、DICOM文件转JPG时窗位窗宽调整方法,提及可能用到的库,如SimpleITK、nibabel等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【Python医学影像从超详细入门】3.窗位窗宽调整

针对不同类型的影像,一般需要调整窗位窗宽才能够获得更好的视觉效果。并且对于深度学习建模也将有较好的性能改善。

本文为您提供NII NII.GZ NRRD DICOM文件转换为JPG过程中如何实现窗位窗宽的调整。
为您附上NII NII.GZ NRRD格式转换为JPG过程中调整窗位窗宽的方法。

可能用到以下库:
SimpleITK
nibabel
cv2
numpy

若缺少,请您先在控制台安装所缺少的库:

#SimpleITK:
pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple SimpleITK
#nibabel:
pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple nibabel
#cv2:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python
#numpy:
pip install numpy

import SimpleITK as sitk
import nibabel as nib
import cv2
import numpy as np

import shutil
import os

#转换为jpg图像时,调整窗位窗宽
def window_transform(img, windowWidth, windowCenter):
    minWindow = float(windowCenter) - 0.5*float(windowWidth)
    img = (img - minWindow) / float(windowWidth)
    img[img < 0] = 0
    img[img > 1] = 1
    img = (img * 255).astype('float32')
    return img

#nii nii.gz nrrd的原始影像文件(非勾画)转换为jpg
#file_path应该是nii nii.gz nrrd文件  to_path应该是一个文件夹
def Niigz2jpg(file_path,to_path,cwckON,cwckcenter,cwckwidth):
    
    n1 = nib.load(file_path)
    n1 = n1.get_fdata()
    
    if(cwckON):
        n1 = window_transform(n1,cwckwidth,cwckcenter)

    if(os.path.exists(to_path)):#若已存在文件夹
        shutil.rmtree(to_path)#则删除文件夹
    os.mkdir(to_path)#重新创建文件夹
    
    
    for i in range(n1.shape[2]):
        out_path = to_path + '\\' + str(i) + ".jpg"
        nt=cv2.flip(np.rot90(n1[:,:,i],3),1)
        nt = nt.astype('float32')
        cv2.imwrite(out_path,nt)

您可以前往该文章以获取完整的DICOM NII NII.GZ NRRD格式转换为JPG格式以及之间的格式互相转换方法。
【Python医学影像从超详细入门】1.医学影像与勾画文件查看(NII NII.GZ NRRD转JPG)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值