简单来说,Radon变换就是求投影(projection)的理论方法.应用于CT中.
radon变换 两维情况下radon变换大致可以这样理解:一个平面内沿不同的直线(直线与原点的距离为d,方向角为alfa)对f(x,y)做线积分,得到的像F(d,alfa)就是函数f的Radon变换。也就是说,平面(d,alfa)的每个点的像函数值对应了原始函数的某个线积分值。一个更直观的理解是,假设你的手指被一个很强的平行光源透射,你迎着光源看到的手指图像就是手指的光衰减系数的三维Radon变换(小小的推广)在给定方向(两个角坐标)的时候的值, 一个最简单而直接的应用就是拿来检测图像里面含有的直线成分,很显然地,任何直线都会导致Randon像在该直线对应(d,alfa)处的极值。 具体的CT断层影像重建算法当中其实没怎么用到Radon变换,或者说Radon变换仅仅只有一点点理论上的意义。原因是:CT机做扫描:球管发出X-ray,经过人体,被吸收一部分,进入检测器队列(球管是旋转的,检测器呈扇形分布,很老的和很新的除外,老式的ct做平行扫描,效率低,很新式的什么多层螺旋扫描,我也不知道咋回事)显然检测器读数就是人体的x-ray吸收系数(是空间的函数)对相应路径的线积分,所以这样转一圈下来再把所有的检测器读数值按照(d,alfa)的方式排列一下就算完成了某个被检测截面的Radon变换了,这个过程是人体和X-rayscaner一起完成的,显然不干软件什么事。接下来,照理说是要靠计算机把获得的数据做一个逆Radon变换,就能得到被检测截面的X-ray吸收系数的分布图像了。CT的图像其实就是一个吸收系数的图,类似的B超或者声纳之类的图像是大致是一个弹性模量的图(反射声波)... 但是接下来这里有一个问题就是Radon变换是不是可逆,google了下好像是可逆的,我的理解: 1)有另外一种求逆方法,就是解代数方程,简化地说可以大致设想把整个截面离散网格化,每个格子对应一个吸收系数,把每根扫描积分路径经过的格子按照权重(显然透心凉和擦点皮对吸收的贡献不同)作累加,令他们等于相应Radon值(积分变成了加权累加而已)显然设计好的话,这个方程组肯定是有解的(不过运算量会很庞大,比如一个512X512的网格...) 2)工程师不问这么无聊不切实际的问题,所以以前学的时候就压根没想到。 3)最重要的原因,是下面要说的求逆问题,竟然变成了二维的fourier逆变换。所以忘掉Radon变换吧。 有这样一个事实:把某个角度坐标alfa对应的一“条”Radon值(一系列检测器的读数,也实际上就是原始截面吸收系数在方向为alfa+-Pi/2直线簇上的线积分值)作一个fourier变换,得到的就是整个原始被检测截面(吸收系数)的二维fourier像在某条直线上的值(这条直线经过频域的原点并且方向为alfa)如果把所有角度的Radon值作一维Fourier变换,然后按照合适的角度(alfa)经过原点把这些一维fourier像值放在频域平面上,就得到了整个二维fourier像!!!这个其实直观上很容易想象其合理性,还是以手指头为例(不考虑它指向的方向)对着光源看,从左至右,透光率不同产生明暗的变化,亮暗本身是沿前后方向的积分结果决定,但是相邻的亮暗变化却反应了整个手指截面的从左至右这个方向上的频域信息,看到的细节越多,频域的高频分量越多(与前后方向的细节毫无关系,因为被radon积分掉了)。 以上关于CT其实是过分简化的描述,只能提供一个大致的原理。实际情况会有些不同,首先检测器读数是有限空间的,这就是相当于理想的投影函数乘了一个窗函数(某段区间内为一,其他地方为零的函数),在频域内窗函数会“扩散”所以他们频域做卷积的结果是频域的扩展。也可以说成是,对于非周期函数(包括周期不为无穷大)的fourier级数在边界的间断处只能是平均收敛,“平均”的结果就是在光滑的地方拟合的很好,在间断点处发生振荡。工程中管这个叫做吉布斯(Gibbs)效应,它告诉我们:用有限项级数的和去表示一个函数,随着项数的增加,振荡发生的位置会越来越接近间断点,但是它的摆幅不变(写到这忽然觉得它的名字似乎翻译成“挤不死”更贴切)另外,检测器只能读出空间上分立的数值,所谓的取样过程就是投影函数乘一个迪拉克函数组成的序列(假设周期为L)而迪拉克序列变换到频域仍然是一个迪拉克序列,只是周期变成了1/L。投影和取样序列相乘在频域就是卷积,出来的结果就是具有了周期频谱,显然可用的只能是原点(DC)所在的一个周期内的数据。当L越来越小的时候,频谱周期越来越大,空间分辨率越来越高。当L为有限的时候,分辨率如果用频率来表示的话,从原点(“直流”分量)开始算,由于周期性缘故显然最高到1/2L处。 设想一间黑屋子,唯一的光源是一个可调节频率的频闪光源,一台电风扇。假定光源闪烁频率为w,显然理论上能够检测到的风扇转速u将允许加上任意整数个w。比方说,每秒亮一下,你看到了风扇转动了1/4圈,那么你可以认为风扇每秒转动1/4圈,但也可以是5/4圈(多转了一圈,有何不可?),9/4圈...也可以是(反着转)-3/4圈,-7/4圈...原因就是前面说的,用一个脉冲序列(光源频闪)去做取样,必然会得到周期性的频谱。接下来,当光源的闪烁频率和风扇的转速(用转/秒来表述)相等的时候,你将看到风扇是停止的,当光源频率高于风扇转速的两倍时,你才能看到风扇正常的转动,如果光源频率介于风扇转速一倍和两倍之间,那你会看到风扇倒着转了。这里的情况被称为频谱混叠。此类现象生活中常遇到。另外,函数变换本身还带来了坐标平移一类的问题。实际当中用的最多的是一种叫做滤波反投影的算法来实现断层重建,说穿了关键就针对以上一些问题设计合理的滤波器。 另外值得一提的是,这里用到的数学大概一百年前就有了,但是随着计算机技术的进步,具体实现的时候,出现过不同的版本。譬如说,70年代的商业运行的CT(256X256),带一台长得像电冰箱般的“卷积器(convolver)”,顾名思义,它的滤波器实现大概是用DSP做卷积的(离散的卷积就是一系列的移位连乘连加)。而现代,随着硬件技能的突飞猛进,FFT不成问题了,这个交给CPU在频域内作乘法就能搞定。退一步说,我甚至怀疑,那个形体巨大的Convolver做卷积的性能恐怕未必能赶上我正在码字的电脑。此刻,它正在运行音乐播放软件foorbar,同时一起运行的还有一堆插件(也可看作卷积器),比如老式电子管音色,教堂混响,耳机模拟现场音效之类的... 以上这些基本上是相关领域的abc,没有深入,基本凭借记忆,说法可能和专门的教材不完全一样,而且很多地方一知半解,肯定会有谬误,大家随便看看不可当真,当然欢迎拍砖。Radon 变换是平行束对图像的线积分,根据各个角度得到的一系列投影值逆radon重建得到原始图像。 变换角度默认是逆时针。r=radon(im,30)得到的是一维数组,平行束与X轴夹角为30度时,距原点不同距离的投影线(平行束)上对图像的线积分。[R,Xp]radon变换 是什么意思啊?!?
在一个平面内沿与原点的距离为d,方向角为θ的直线对原函数f(x,y)做线积分,得到的像函数F(d,θ)就是函数f的Radon变换.这是二维的情况.
给您推荐相同类型的内容:
计算机二级c语言难吗
计算机二级c语言程序设计并不难,主要考察的是基本语法,还有顺序,选择,循环这三大结构,数组及其对应的算法,函数的定义与调用,还有结构体和指针。首先,C语言是高级语言,它与python、java等高级语言不一样,它们是面向对象的高级语言,而C一个js方法中怎么调用另一个js文件
Js文件中调用其它Js函数的方法:x0dx0a1、例如有这样一个html,里面有一个按钮,当按下时调用b.js文件中的方法b()。而b()中又要调用a.js文件中的方法a()。那我们应该怎么做呢?x0dx0a首先,在html中引入bJSP页面中怎么引入js文件?
在JSP中引用JS文件的三种方法:1、如果是直接访问JSP,则使用相对于JSP页面的相对路径:image_1b18hnotn96o1psa12es191r1ma69.png-7.1kB当项目目录如图所示时,则在NewFile.jsp中Python-matplotlib绘制带箭头x-y坐标轴图形
在Python的数据可视化库中,采用matplotlib绘制相关图形时,若不加任何设定,一般的x-y坐标轴是不带箭头且是一个封闭的矩形。我们以Sigmoid函数的绘制,给大家展示一下。matplotlib的辅助工具,包含一系列对坐标轴设置的如何在一个js中引用另一个js
可以使用JavaScript的document.write方法引入js文件。举例如下:document.write('<script src="jquery.js"><CSS代码怎么把小图片设为背景图
01首先看下html代码,一个空的div,什么内容都还没放上。02为这个div写上一些美化的样式。03刷新页面,看下效果,现在就是显示一个有边框的div。04要用css为这个div加上背景图片,只需要加上back合泰单片机 C语言读写片内EEPROM怎么不行呢?求高手指点!!!
控制EEPROM存取的EEC寄存器是位于bank1地址的40H处,所以必须做bank的切换并搭配MP1的间接寻址才能正确地进行位状态的设置。程序参考:unsigned short Read(){unsinged short Backup_m一般买电脑(笔记本)时需要问些什么?
买笔记本电脑要问商家价格,买笔记本电脑要问商家机器是否有开封过、使用过,买笔记本电脑要问商家机器是不是原装、有没有被维修过、是不是官翻机,买笔记本电脑要问商家机器是不是样机转销售的,注意包装箱封条、机身镙丝、外壳是否有划痕等。买电脑不要光图色命令语言无障碍吗
涂色命令语言是无障碍由于Auto.js目前的API都是同步的,要在屏幕中搜索某张图色或者某个控件时,必须无限循环查找,这实际上非常耗电。由于Rhino的限制,Auto.js无法直接提供异步API,这让Auto.js的脚本天生有一些缺陷。为了python使用Flask框架获取用户IP地址的方法
主要介绍了python使用Flask框架获取用户IP地址的方法,实例分析了Python使用Flask框架remote_addr获取IP的`技巧,非常具有实用价值,需要的朋友可以参考下。 下面的代码包含了html页面和python代码,非电脑上什么播放器比较好用啊?
好用的万能播放器:1、potplayer是一款极度优秀的视频播放软件,内置性能强大的解码器,轻松解析高清大片,用户在观看过程中可以享受到高清、流畅、稳定的体验,同时支持了市面上主流的视频格式,均可完美兼容。 2、金舟影音是江下信息科技javascript文件怎么引入js文件
看随机抽取这个例子。在一个页面中如下:我们可以把 js 放在另外一个文件里,比如当前文件夹的 a.js 中。这样 html 页面如下:a.js这样就行了。当然,也可以把 a.js放在web上,然后引用成下面这样。可以使用JavaScr新买的笔记本电脑需要安装什么软件?
新买的笔记本电脑必装的软件推荐如下:1、Everything是大家公认的,也是当之无愧的Windows系统中本地文件搜索神器。对于任何硬盘中的文件都可以实现“秒搜”的效果。只要输入文件的关键词,就可以实时显示相关的文件。2、Internet请问怎么用R语言正则表达式统计文章的单词数和中文字数,不能用程序包?
首先声明,用R来处理字符串数据并不是一个很好的选择,还是推荐使用Perl或者Python等语言。不过R本身除了提供了一些常用的字符串处理函数,也对正则表达式有了一定的支持,具体各个函数的使用方法还是要参考R的帮助文档。sub()与gsub(用Javascript调用cmd并执行命令?
建立test.bat文件,存于D:根目录下,作用是将*txt文件拷贝到d:test目录下。md testcopy d:*.txt d:testpause创建WScript.Shell对象,由该对象直接运行test.dat文件。谁知道韩国女装js.from这个牌子是什么牌子
JS FROM是韩国老板在中国注册的品牌,在香港,日本,韩国都有实体档口,在中国各大城市也是专柜和精品店铺,所有的衣服都是韩国设计室打版,韩国面料,(为了降低成本,生产线在国内)。生产后发到韩国,日本等各大市场,所以一些韩国代购的衣服就要加什么是Java代码的编译与反编译?
Java代码的编译与反编译2017-02-21Hollis数盟一、什么是编译1、利用编译程序从源语言编写的源程序产生目标程序的过程。2、用编译程序产生目标程序的动作。编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和jx舞蹈是谁创办的
黄小雨。js舞蹈创始人黄小雨是广东省东莞人,国际JS舞蹈培训机构,是一家国知名创业加盟连锁品牌,总部于2011年6月3在广东东莞创办成立,开设专业钢管舞、欧美、日韩爵士舞雷鬼、Hip-Hop、酒吧领舞、艳秀、绸缎舞等课程。是。柳州JS舞蹈创Css 如何排版
你需要写一个CSS样式文件,后缀名称就是CSS,我这里正好写了一个CSS样式表,用于定义网站显示文字的格式,然后你复制这个代码将这个代码保存格式为:comman.css*------reset------*body,dl,dd,ul,[Mac pycharm 设置Python版本以及Python背景颜色]2018-09-02
之前,刚开始应用pycharm,因为习惯用黑色背景,故而准备换做黑色背景,同时向切换Python版本。结果发现网上诸多博客均你粘我我粘你,这也无妨,天下文章本来就是一大抄,可是。。。麻烦抄对的好嘛!?抄完好歹自己验证一下啊。。。 吐槽新买的电脑要检查哪些方面
1.外包装和箱内物品首先,检查外包装是否完整无误。对于很多品牌的本本,其包装都是密封好的。因此第一步要检查外包装有无打开过的痕迹。2. 检查序列号检查确认无误后,下一步就是仔细检查笔记本电脑的序列号。这一步对于选择国外品牌笔记本电脑的朋电脑键盘数字打不出来怎么回事?
电脑键盘数字打不出来的原因及解决方法:一、台式机:小键盘的数字键锁定了,点击小键盘上面有个数码锁定键numlock就可以打开,保证键盘灯第一个处于亮着的状态。二、笔记本电脑:小键盘打不出来数字,说明笔记本的小键盘没有开启,所以打出来计算机二级分值
计算机二级考试总分100分。不同科目的分值分布不同。如果是MSoffice,有四种题型,分别为选择题,文字题,表格题,演示题。其中选择题一个两分,一共10个,总分20分,Wps文字题30分,Wps表格题30分,Wps演示文稿题20分。C语言css选择器有哪些?
1、标签选择器(如:body,div,p,ul,li)。2、.类选择器(如:class="head",class="head_logo") 。3、ID选择器(如:id="name&quocss已设置width100% 为什么宽度没有占满浏览器?
css已设置width100% 宽度没有占满浏览器是设置错误造成的,解决方法为:1、首先需要新建一个html文件,命名为test.html。2、接下来在test.html文件内,使用div创建一个模块,下面将对该div进行样式设置。3、然如何评价QML?
QML (Qt Markup Language)是基于JavaScript、宣告式编程的编程语言,用于设计用户界面为主的应用程序。它是Qt Quick,诺基亚开发的用户界面创建包的一部分。QML 主要用于移动应用程序,注重于触控输入、流畅如何在js文件中动态加载另一个js文件?
1、直接document.writex0dx0ax0dx0adocument.write("")x0dx0ax0dx0ax0dx0a2、动态改变已有script的src属性x0dx0a可以创建一个ps5js是什么意思
应该是一个p5.js,它是一个JavaScript的函数库。p5.js是一个JavaScript的函数库,它在制作之初就和Processing有同样的目标。就是让艺术家,设计师,教育工作者和编程初学者能够很容易,很轻松地学习和使用程序设计。CSS技巧分享:如何用css制作横排二级下拉菜单
工具材料notepad++浏览器打开Notepad++,先输入个页面框架 <!DOCTYPE html><html xmlns="http:www.w3.org199css导航怎么靠右
设置3个导航nav,最右边的nav设置class=right,然后设置nav的css边距,宽,高,背景颜色(便于我们看见),再设置一个float为右就会靠右排列,注意:float时第一个会到右边,所以设置第一个为最右边的导航栏代码&