本发明专利技术公开了一种基于统一计算设备架构技术的图像处理方法和装置,所述方法包括:获取基础数据,根据成像分辨率确定网格化结果数据规模;根据网格化结果数据规模获得K空间卷积窗口及窗内所有元素的坐标;依次根据K空间卷积窗内每一个元素的坐标获得该元素的轨迹值,应用所述每个元素的轨迹值依次和K空间中心点的轨迹值计算欧氏距离;若所获得的欧氏距离小于第一阈值,则结合所述基础数据对该元素值所对应的基础数据中的采样数据进行卷积计算,获得网格化计算结果数据;对所述网格化计算结果数据进行反傅里叶变换,获得图像数据。本发明专利技术很好的解决了基于CUDA的由基础数据计算卷积窗口在并行处理时导致的网格化数据写-写冲突。
【技术实现步骤摘要】
本专利技术涉及图像处理
,特别涉及基于统一计算设备架构(CUDA, Compute Unified Device Architecture)技术的图像处理方法和装置。
技术介绍
磁共振成像(MRI)是一种生物磁自旋成像技术,在外加磁场内原子核的 自旋运动经射频脉冲沖激后产生信号。通过MRI数据采样技术将这些信号用 探测器检测并输入计算机;MRI重建技术对信号进行后处理转换成在屏幕上 显示的图像。MRI数据采集是在空间频率域即K空间中进行的。为了将这些K空间 采样数据转换到二维或三维图像空间坐标系如笛卡尔坐标系下,必须对凄t据进行反傅立叶变换。但是标准的反傅立叶变换算法要求数据是在等间隔坐标 系统中均匀采样的,这就要求MRI重建算法在运用反傅立叶变换前将采样数 据从K空间变换到等间隔坐标系统如笛卡尔坐标系下以实现均勻釆样。这个 变换的过程通常是通过网格化算法实现的。网格化算法通过数据重采样技术将非等间隔采样的K空间数据转换到笛卡尔坐标系下,它把K空间划分为等间隔的直线网格,给每一个网格单元的 中心赋一个值,该值等于落在该网格单元内的全部数据之"和"。这里的"和" 并不是网格单元内全部数据的简单相加,而是一种巻积插值运算。网格化算法实际上是一种巻积插值运算,每一个采集到的样本都与一个 扩散核进行巻积,该样本的能量在巻积后也就分布到了相邻的网格点上,这 样相当于将该样本值在附近的网格点上进行了重采样。这种巻积插值算法的 优点是插值过程中用到了全部釆样数据。目前,Kaiser-Bessel窗函数已成为 MRI网格化算法中普遍采用的巻积函数。计算统一设备架构(CUDA, Compute Unified Device Architecture)是豸斤一 代的图像处理芯片(GPU)架构,可以将计算进行多线程任务分配和管理, 可以极大程度地发挥GPU的优势,十分方便地对大规模并行计算进行硬件加速。现有的,网格化算法用公式表示为 ='M(w, v)沐C(w,v)k(" (2-1)、S(w,v)承C(w,v)乂式中M(",v)为磁共振采样数据,M^为重采样后的数据,S(w,v)为不等间隔的采样函数,及(w,v)表示等间隔直线网格采样函数,C(w,v)为巻积函数(Kaiser-Bessd函数),.表示矩阵乘法,*表示巻积运算, 气M 实际上是非均匀采样密度补偿函数。不等间隔采样函数S(M,V)为复数,它的实部用x表示,虚部用y表示,计算公式如(2-2)- (2-3)所示^ 、 co"Z ,cwX % z"、2 S",iSfee,,".少=--+-^* -+ v (2誦3)2 Sca"MaWx5"ca"M^r/x —五7Z、乂、 2其中 分别代表笛卡尔坐标X、 Y轴向归一化长度,&附/^^代表采样点数,Sc""M^/jc代表采样扫描矩阵大小,E7X代表回波链长度,0 S w < iSa邵57ze , 0 S v < £TZ 。K空间巻积窗大小计算公式如(2-4) - (2-5)所示^w/淑= A: m<xc .x * cow,/赢.x / gr/血'ze .x (2-4)Aw/淑.y = A:W(Xc.y * cow,z'淑.y /gn'cfe/ze.y (2-5)其中,feA7^y/^.X,^^&.少)表示网格化结果数据规模即网格化结果数据矩阵的大小,(co"vw!W仇;c,co"vw!W仇力表示图像空间巻积窗口大小,(A代表K空间归一化大小。K空间巻积窗口大小为时,采冲羊轨迹点v)对应网格化结果矩阵巻积窗口坐标范围的计算公式如(2-6 )-(2-9)所示a脂"=(m^ ——^--+ gntfcew/e广xz/(/x附/w < 0)/x附/w = O,'(2誦6)附a;c = ——^--+ grzdce"&r.x +1z/(/x max k gr/(is7'ze.x)/x wax = gr/fife/ze.x — 1/W附m 二 ——^- ' -^ + gntfce"&广少z^Y(y m/w < 0力> 脂> 二 O,'(2-7)(2-8)zy附ax = — Jl ~^-z°-+ gndce"紋y+ 1(2-9)附ax 2 gn'(i 'ze._y>>附ax = gWt/57'ze.少_ l,-上述公式中,min、 max为求最小、最大值的函数,(g"V/ce"紋x'^gn'tifcg"紋力表示网格化结果中心点位置,(co",W仇x,co"vwW仇力表示图像空间巻积窗口大小,Oh^W仇x,ybvW仇力表示K空间巻积窗口大小,其余变量与前述相同,不再重复说明。计算网格化结果矩阵巻积坐标窗口 内的点与窗口中心点的K空间欧氏距离,计算公式如(2-10) _ (2-12)所示^ =x* _外,v〉x(2-10)(2國U)d = V血2 + *2 (2-12)其中,(p'《)£ , (p'《)x, (p, g)少) 表(p'《),#、的网格化数据,说表示窗内元素距离巻积窗中心点的K空间欧氏距离;对汲 < 如赢x)2+(ybv磁〗)2的网格化巻积窗内点,对采样轨迹v)对应的采样数据点进行巻积运算。用ctoaw表示采样轨迹列数,^to/ 表示采样4九迹^f亍数,gn^(/^)表示(;^)点网格化结果,网格化算法的主要过程为(1) 预处理S(M,v)釆样轨迹生成、M(",v)数据采样(2) 令i=0至datah,每次力口 1 ,即,= 0 —挂/z(3) 令j=0至dataw,每次力口 1 ,即,y = 0 —(4) 利用公式(2-6)到(2-9)计算采样轨迹点(/,力的K空间巻积窗大小转换到图像空间对应网格化矩阵坐标窗口(7)利用7>式(2-10)到(2-12)计算dk,如果》碰.一2 + — 赢少(8)利用公式(2-1)对结果数据grW(;^)进行巻积运算,获得网格化结果矩阵。图l是现有技术中网络化算法巻积窗口计算原理示意图。从图l可知,巻积窗口是通过轨迹计算得到的,即通过轨迹1计算得到巻积窗口 I,通过轨迹2计算得到巻积窗口 II。 CUDA技术可以进4亍多线程任务分配和管理,通过CUDA实现现有技术的网络化算法,即对网才各化算法进行并行处理,上述巻积窗口 l和巻积窗口 II的重叠部分存在纟皮两组计算(对轨迹l的计算和对轨迹2的计算)同时写入的情况,即在网格化算法的主要过程(4)中,对巻积窗口的运算存在交叉现象,由此导致网格化算法存在写-写冲突。也就是说,由于CUDA技术是对网格化算法并行处理,因而以上述步骤(2)和(3)为初始数据的计算过程由多线程并行完成,这样,会导致同一组输入数据,应用相同的算法后每次执行结果都存在差异(由窗口 I和窗口II的重叠部分导致),且这种差异没有任何规律性。例如,表1是基于CUDA的网格化算法执行环境,表2是网格化算法在表1所示执行环境下存在写-写冲突的代表性数据第一列"位置信息"表示网格化点的坐标位置;第二列是CPU网格化结果;第三、四列AS于CUDA的网格化算法运行结果;从表中椭圆标注数据可见,基于CUDA的网格化算法结果每次执行结果都不转(5);&l本文档来自技高网...
【技术保护点】
一种基于统一计算设备架构技术的图像处理方法,其特征在于,包括: 获取基础数据,根据成像分辨率确定网格化结果数据规模; 根据所述网格化结果数据规模获得K空间卷积窗口及窗内所有元素的坐标; 依次根据所述K空间卷积窗内每一个元素 的坐标获得该元素的轨迹值,应用所述每个元素的轨迹值依次和K空间中心点的轨迹值计算欧氏距离; 若所获得的欧氏距离小于第一阈值,则结合所述基础数据对该元素值所对应的基础数据中的采样数据进行卷积计算,获得网格化计算结果数据; 对所述网 格化计算结果数据进行反傅里叶变换,获得图像数据。
【技术特征摘要】
【专利技术属性】
技术研发人员:杨金柱,赵大哲,冯朝路,栗伟,王艳飞,
申请(专利权)人:东软集团股份有限公司,
类型:发明
国别省市:89[中国|沈阳]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。