ct系统参数标定及成像模型

ct系统参数标定及成像模型

ID:13001151

大小:3.25 MB

页数:25页

时间:2018-07-20

上传者:jjuclb
ct系统参数标定及成像模型_第1页
ct系统参数标定及成像模型_第2页
ct系统参数标定及成像模型_第3页
ct系统参数标定及成像模型_第4页
ct系统参数标定及成像模型_第5页
ct系统参数标定及成像模型_第6页
ct系统参数标定及成像模型_第7页
ct系统参数标定及成像模型_第8页
ct系统参数标定及成像模型_第9页
ct系统参数标定及成像模型_第10页
资源描述:

《ct系统参数标定及成像模型》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

CT系统参数标定及成像模型摘要本文在CT工作原理的基础上通过建立参数标定及成像模型,实现了对安装好的CT系统标定参数,以及对未知结构的样品进行成像。首先,根据尺寸、位置已知的模板的吸收率数据确定其材料的均匀性。将已知的吸收率和吸收信息代入Lambert-Beers吸收定律,可建立吸收信息与被测物体厚度的函数关系。另外,吸收信息中非零值越多,则单元数越多,投影越长,物体宽度越大。由此可用物体尺寸求得探测器单元间距。筛选数据得到模板的最长和最短投影,利用模板在探测器的投影位置找到二者的几何关系,可解出旋转中心的坐标。最后利用一定次数旋转的角度和旋转次数作商,可求得每次旋转的角度,结合初始角,可知X射线的180个方向。然后,因为衰减系数在不均匀介质中会随着位置而变化,沿照射路径作线积分即为接收信息。该过程与投影过程类似,因此运用直接傅里叶反变换法反解出衰减系数。因图像较大,可调用imresize函数缩放。附件3物体形状较为规则,可当作椭圆处理。由正方形托盘和该物体的几何关系可求出位置。将图形拆分开后,分别采用多项式拟合、幂指数拟合,以此描述形状。吸收率和衰减系数有比例关系,可由模板求得,带入被测件的衰减系数即可知其吸收率。通过坐标变换,将10个点的位置解出,则可知吸收率。1· 目录CT系统参数标定及成像模型.........................................................................................................1摘要....................................................................................................................................................1一、问题重述....................................................................................................................................3二、问题分析....................................................................................................................................42.1系统参数标定模型....................................................................................................42.2成像模型....................................................................................................................42.3精度和稳定性分析....................................................................................................4三、模型假设....................................................................................................................................4四、定义与符号说明........................................................................................................................5五、模型的建立与求解....................................................................................................................55.1CT系统参数标定模型.....................................................................................................55.1.1吸收率与接收信息................................................................................................55.1.2探测器单元之间的距离........................................................................................75.1.3CT系统旋转中心在正方形托盘中的位置........................................................75.1.4X射线的180个方向........................................................................................85.2CT系统成像模型.............................................................................................................85.2.1直接傅里叶反变换法(DFR)求衰减系数μ....................................................95.2.2位置和几何形状.................................................................................................105.2.3吸收率.................................................................................................................132· 5.2.4十个位置处的吸收率.........................................................................................16六、模型评价.................................................................................................................................18七、总结.........................................................................................................................................21八、参考文献.................................................................................................................................21九、附录.........................................................................................................................................22一、问题重述CT技术通过X射线穿过被检测物体产生衰减的原理,能够在不破坏物体内部结构的前提下,对被扫描物体进行可视化成像[1]。具体的工作过程为从发射器射出平行射线,具有512个单元的探测器在被测物体之后接收信息。发射器和探测器绕某固定的旋转中心逆时针旋转180次,且二者相对位置不变,进而记录下180组数据,经成像过程生成具体图像。然而CT系统安装时存在的误差会影响成像质量,因此需要对安装好的CT系统进行参数标定。问题1:现已给定标定模板的位置、几何信息、该介质的吸收率和经过扫描过程探测器的接收信息。需要根据已知条件求解出CT系统旋转中心的位置、探测器每一个单元之间的距离和X射线入射的180个方向。问题2:根据问题1的解,可以完全确定CT系统的工作状态,现再提供某未3· 知介质的接收信息。凭借CT系统各参数的值和该未知介质最后得到的接收信息结果,确定出该未知介质的位置、形状、吸收率等信息。并在该吸收率情况下找出10个位置的吸收率。问题3:同问题2,利用CT系统各参数的值和接收信息,确定该未知介质的相关信息。并求出10个位置的该未知介质下的吸收率。问题4:分析问题1求解的参数标定的精度和稳定性。并自行设计新模板、建立对应的标定模型改进标定精度和稳定性。二、问题分析本题需要解决的问题可分为两部分:对CT系统进行完整的参数标定,继而用CT系统实现成像功能。2.1系统参数标定模型参数标定从本质上讲是成像过程的逆推过程。即已知模板几何尺寸,位置信息,接收信息,根据已知信息可以确定发射-接收系统的工作状态。接收器的单元间距未知,但是从已知信息可以推算出模板投射在探测器的投影单元数,又知道模板的实际尺寸,就可知二者间换算关系,从而确定单元间距。旋转中心难以直接计算,但因为吸收率一定,所以探测器显示的吸收信息蕴含着物体的长度和宽度,再辅以旋转180次得到的不同角度的信息,结合几何关系,可以求解。角度问题可以直接对应探测器吸收信息的变化情况求得。2.2成像模型标定各参数之后,整个发射-接收系统的工作状态就可以完全确定。CT系统的工作原理为CT扫描被测物体后得到吸收信息,进而反解出被测物体的其他相关信息。可以发现该工作过程可以对应直接傅里叶反变换法的计算过程,因此,可以用此方法方便快捷地求得正确的衰减系数。得到被测物体的衰减系数,就可以根据各参数的实际意义与衰减系数的实际意义之间的联系推算出其余信息,包括位置、形状、吸收率等参数。已知整个未知介质的吸收率后,即可求得同坐标系上任一点的吸收率。2.3精度和稳定性分析由于建立模型和求解模型中将部分模型理想化,因此需要在最后做一个精度和稳定性的分析,以避免误差过大,影响模型的使用和推广。三、模型假设1.椭圆投影长度最长(短),对应X射线与椭圆相切于长轴(短轴)。2.投影长度相等的若干组数据,取中间一组为极值。3.求未知介质位置时,可看作规则图形求其中心位置。4· 四、定义与符号说明a吸收率μ衰减系数d被测物体的厚度初始强度I0I射出强度P接收信息L检测器单元之间的距离θ发射-接收系统每次转动的角度五、模型的建立与求解5.1CT系统参数标定模型5.1.1吸收率与接收信息借助模板标定CT系统的参数,首先需要正确理解各参数的实际意义并明确相5· 互之间的关系。由题可知,附件1中的数据反映的是该点的吸收强度,即吸收率。通过观察可以发现,吸收率的数值分别为0.0000和1.0000,且1.0000对应的点的分布具有一定的规律性。为了更直观地观察其分布情况,利用MTALAB读取表格数据并绘制图像(程序见附录1),如图5.1.1所示。图5.1.1吸收率图中高亮的部分为吸收率为1.0000的点所在区域,其余部分是数值为0的区域。将图5.1.1与模板的几何信息对比可以发现,吸收率非0的区域形状、尺寸、位置均与模板匹配,即模板确为均匀介质,且该介质的吸收率为1.0000。接收信息定义为X射线穿过模板的过程中,被模板所吸收的信息,反映在附件2,为512×180的表格。由CT的工作原理可知,某一列的512组数据即为X射线从某一个角度发射,探测器512个单元接收到的信息。某一行的180组数据代表该行对应的单元,随着反射器转动180次而分别得到的数据。由CT的图像重建原理可知,接收信息来源于X射线照射在被测物体上,部分能量被物体吸收而导致的射线强度衰减。这种衰减呈指数变化,如果发射器发射出的射线是单能的,并且照射在了均匀材料的物体上,则遵循Lambert-Beers吸收定律[2]:dII0e(1)μ为衰减系数,d为被测物体的厚度,为X射线穿过被测物体前的初始强度,I为X射线穿过被测物体后的射出强度。由吸收率的含义可知,吸收率a和衰减系数μ保持一定的比例关系:ka(2)若定义P为接收信息量,且满足式(3):6· I0PlnI(3)根据吸收率和接收信息的实际意义,可知接收信息P的数值大小与吸收率a以及被测物体厚度d有关。联立(1)、(2)、(3)式,可得三者之间的函数关系:Pkad(4)分析可知,吸收率一定的情况下,被测物体越厚,则接受信息的数值越大。5.1.2探测器单元之间的距离求解探测器单元之间的距离,需要将模板的真实尺寸与其投影在探测器的长度进行比较。投影在探测器上的长度与附件2的数据相关。每一列的数据为X射线从某一个角度发射,探测器的512个单元接收到的信息。由接收信息的含义可知,数值为0的单元的X射线是从发射器直接发射到探测器的,不经过模板的任意部位。而数值不为0的单元对应的射线,不论数值大小,均穿过模板。因此,只要确定出每一列的非零数据的数量,就知道有多少个单元的射线穿过模板。由于使用Excel对每一列接收信息数据进行观察的过程比较繁琐,而且容易出现错误,因此,可以运用MATLAB导入数据,编写程序得到非零数据的数量。由于某些列的非零数据分成了两部分,所以所编写的程序将两部分拆开计数,最终得到的结果为两组数据(程序见附录2)。得到数据后进行观察,发现其中一组数据绝大多数为29,因此可以确定这组数据是射线穿过圆形模板得到的,29个单元对应的就是圆形模板的直径8mm。则探测器单元之间的距离L为:L829=0.2759mm(5)5.1.3CT系统旋转中心在正方形托盘中的位置由于CT系统的旋转中心一定在探测器的中垂线上,因此找任意两个探测器位置,分别做其中垂线,相交的点即为旋转中心。由5.1.2可知,探测器单元之间的距离已知,因此,取附件2的任意列,从上向下查到非零数据点的时候,有m组数据就对应着m条射线没有穿过模板。又由5.1.1可知模板投影到探测器对应的单元个数n,且总单元数为512,由此可知模板数据下方的零数据点共有512-m-n个。如图5.1.2所示,AF为探测器,B为正方形托盘左下角,也是坐标原点,C和E分别与椭圆相切,D点为探测器AF的中点。根据附录2的数据,可以找到一组最小,一组最大数量的数据,最小数量为109组数据,为CE段,对应上方零数据点有168个,为EF段,下方零数据点有235个,为AC段,对应的是椭圆7· 的短轴,即AC:CE:EF三者比值为235:109:168;最大数量为289组数据,上方零数据点有69个,下方零数据点有134个,对应的是椭圆的长轴。以正方形左下角B为原点建立直角坐标系,则旋转中心O的坐标可表示为:8xo=AD-AC+(50-15)=[256235](5015)40.7931mm29(6)同理,纵坐标可表示为:8y=[25689](5040)56.0690mmo29综上,旋转中心坐标为(40.7931,56.0690),如图5.1.2所示。ABCDEF图5.1.2旋转中心5.1.4X射线的180个方向由5.1.3可知,最大数量的是第61组数据,最小数量的是第151组数据,并且这两组数据分别对应的是水平射线和竖直射线,即夹角为90度。假设180次旋转,每次转动的角度相同,则:(7)由于发射-接收系统绕逆时针旋转,根据附件2的数据可推断出,投影长度先增加后减小再增加,因此初始位置是从正方形托盘的右下方发射,左上方接收。又因为椭圆形长轴投影对应的是第61组数据,即从初始位置旋转了60次,因此,初始位置的射线与水平方向夹60度角。综上,X射线从与水平方向夹60度角开始旋转,每次旋转1度。5.2CT系统成像模型8· 5.2.1直接傅里叶反变换法(DFR)求衰减系数μ直接傅里叶反变换法是由不同角度的投影的数据,恢复原始图像的方法[3]。由于衰减系数μ在不均匀介质中会随着位置的不同而变化,因此接收信息P与μ的关系满足:P(x)dxd(8)其中d为X射线穿过物体的路径,μ(x)表示d上某点x处的衰减系数。可以看出,投影过程和X射线照射过程均为线积分,因此由附件3中的接收信息P可以使用直接傅里叶反变换法方便地求解出衰减系数μ的数据。具体过程为:首先原始图像fx,y作线积分得到投影香䁛,再由投影值香䁛求一维傅里叶变换香䁛,把变换所得当作二维傅里叶变换的一个切片。所有角度的切片数据放在一个极坐标系下,然后将极坐标系栅格化,即使用二维插值求出笛卡尔坐标系中相对应的值Fu,v䁛,再进行二维傅里叶逆变换,得到原始图像fx,y䁛。具体流程如图5.2.1所示。栅格化二维傅里叶逆变换一维傅里叶变换投影fx,y图5.2.1流程图分别导入附件3和附件5,求出衰减系数μ的数据表格并生成图像,发现数据量较大,因此调用MATLAB中的imresize函数运用插值法可进行一定程度的缩减,最终如图5.2.2。(程序见附录3)设定颜色越暗则衰减系数越小,反之,越亮则衰减系数越大。9· 图5.2.2附件3、附件5衰减系数图5.2.2位置和几何形状根据图5.2.2观察可知,附件5的形状不规则,外边界近似为一个正方形,内部有许多暗色区域,分布无规律,因此很难谈论其形状以及位置信息。附件3的几何形状近似为椭圆,因此,可用类似求解椭圆中心的方法求解该未知介质的位置问题。与附录2程序功能类似,用MATLAB编写程序将附件3的每一列数据中非零数据的数量算出,并以该数值为纵坐标,对应旋转次数为横坐标建立直角坐标系,如图5.2.3(程序见附录4)。从图5.2.3中可以清晰地看出第58组的非零数最多,第146组的非零数最少,由于该组数非常接近第61和151组,因此可近似认为这二者对应的投影长度分别为椭圆长轴和短轴投影长度。图5.2.3投影长度—旋转次数由于设备和旋转中心均不变,因此探测器在第61和151组的位置不变。竖直放置的探测器非零数值的数据量为296,其上方的零数值数据量有96,下方的零数值数据量为120,由5.1.3的几何关系可知,最下端到x轴的距离为10-69×=-9.0345mm;水平放置的探测器非零数值得数据量为156,其上方的零数值数据量有215,下方的零数值数据量为141,同理可求得最左端到y轴的距离为10· 35-235×=29.8276mm。所以,该介质的位置,即椭圆中心的坐标为:͵͵x=+215×-29.8276=50.9977mm(9)ͳǤǤy=+96×-9.0345=58.2783mm综上,未知介质的位置,即中心坐标为(50.9977,58.2783)。由5.2.1可得到衰减系数的数据,并可清晰地观察分析出衰减系数在不同位置的大小。分析图5.2.2可知,明亮部分衰减系数较大,说明此区域的形状为该介质的几何形状。但具体的几何形状难以通过观察分析得到,因此,可以取衰减系数值恰当,在图像中处于明和暗的交界处的点(假设为此边界衰减系数为0.15),进行曲线拟合,得到具体的函数关系,以此来表达该介质的几何形状。但由于该图形为封闭式图形,无法直接用函数的拟合方式进行,故可运用MATLAB编写程序将一个闭环拆分成上下两部分开环,分别进行拟合,用两个式子来完整表达形状(程序见附录5)。另外通过对图5.2.2的观察可发现,介质内部有两块区域衰减系数较小,甚至接近于外部区域,因此采用数值比较的方法将此两块区域和其他内部区域分开考虑。而这两块区域的边界也是封闭式的,同样需要拆分开进行函数关系的拟合。综上,可拟合出以下六式(图5.2.3):2y0.01012x3.615x129.2(10)0.06345x0.01797xy5353e2.896e(11)图5.2.4外边界拟合曲线11· 2y0.09344x17.84x750.6(12)2y0.08413x17.11x924.8(13)2y0.01624x5.231x348.4(14)12· 2y0.01505x3.922x297.6(15)图5.2.5内边界拟合曲线综上所述,该未知介质的几何形状即为(10)~(15)式联立后围住的区域,可由图5.2.5观察分析其形状特征。5.2.3吸收率将5.1当中模板的吸收信息按照直接傅里叶反变换法进行计算,将会得到其对应的衰减系数数据以及图像(如图5.2.6)。图5.2.6模板衰减系数图由5.1可知,衰减系数和吸收率呈正比关系,则通过现在模板的衰减系数模和吸收率以及未知介质的衰减系数,可以推测出未知介质的吸收率。具模未未体的做法是:从模板的衰减系数数据中判断出椭圆位置,因为椭圆模板内部的吸收率均为1.0000,因此可从椭圆内部任取足够多的点求其平均值,现取DF-EM模列,76-109行数据,共1156个,得到Ǥ͵。由于=1.0000是定值,模模因此,未知介质的吸收率:模×ͳǤ(16)未未未模用Excel软件打开附件3、附件5对应的衰减函数图,每一个衰减系数乘一13· 个固定的数值1.6040即可得到最终需要获得的该介质的吸收率数据表,具体数据见附件problem2.xls及problem3.xls。5.2.4“空点”的筛除由于探测器的单元间隔较大,投影次数太少等因数的影响,会导致探测器探测到的吸收信息有限,从而使得利用这些信息不足以完全还原二维情形。所以才会出现吸收信息矩阵中有0值,但是变换后的系数矩阵没有0值的情况。对应的实际情况即没有物体的区域衰减系数也有非零值。所以为了精确得出二维真实情形可设计一个阈值来筛除‘’空点‘’。利用Excel表格来确定衰减系数矩阵的最大值M、最小值m。将左右端点值分别为m、M的区间等分为N个小区间,第i个小区间记为、ͳ···䁛,则第i个小区间的右端ܯെ䁛点值为+െ。再以落在某个小区间内元素的个数作为该小区间的函数值。运用MATLAB绘出将横坐标区间等分成10分的图像。(如图5.2.7)图像大致分为三段,第一段函数随着横坐标值增加,函数值迅速减小。该段表示此区间内的点绝大部分的吸收系数接近0,并且整体变化一致。故第一段应该对应“空点”即不是实体上的点。第二段前半部分曲线缓慢减小,且函数值很低,后半部分几乎不变。这段图像前半部分说明这类点数目少但吸收系数分布区间长,这类点出现的原因可从图5.2.2看出,在靠近椭圆的黑色区域有“白线”存在,说明这些区域的点较黑色区域有较高的值。但这些点是由于radon逆变换时产生的干扰,它不反应真实物体情况,所以设计的阈值应该排除掉这些点。第二段曲线后半部分可以14· 认为真实点开始变多,从而曲线变平缓。第三段为上升段,该区域的点应为实体上的点,应该保留。综上所述,我们选择当第二段曲线的变化刚接近平缓的点0.413为阈值。在Excel中用快速分析功能的色阶分析表格可以大致得出类似于图5.2.2的图像如下,而后在其基础上令值大于阈值的格子填充为粉色。另外再作一个图,先使值大于阈值的格子填充为粉色,再用快速分析功能的色阶描述表格,使后两图相互印证。未填充的图先色阶分析再用粉色填充的图先用粉色填充再用色阶分析的图如图可看出粉色区域几乎覆盖了绿色区域,但边缘还有一些绿色,也就说明阈值有点偏高。在筛选时可能筛掉实体点,但可以近似认为阈值是合适的。用阈值对衰减系数矩阵进行筛选。对于衰减矩阵中的值小于阈值令其为0,大于等于0则保留原值。第三题阈值寻找方法如第二题所述,并作出N=10的曲线。图线大致分为两端,第一段如第二题中所述对应“空点”第二段连续而缓慢上升到最高,说明此时图像干扰点不多可以忽略,此时可以只用把第一段对应点排除。综上所述以0.067为阈值。先在Excel中用快速分析功能的色阶分析表格可以大致得出类似于图5.2.2的图15· 像如下第一个图所示,而后在其基础上令值大于阈值的格子填充为黄色如下第二个图所示。另外再作一个图,先使值大于阈值的格子填充为黄色,再用快速分析功能的色阶描述表格,使后两图相互印证。未填充的图先用色阶分析再用黄色填充的图先用黄色填充再用色阶分析的图从第二张看出黄色基本覆盖了绿色,第三张除了一些边缘绿色基本覆盖了黄色,这说明该阈值有点低,可能会在筛除时漏过一些“空点”但基本还适合。用与第二题同样的法则对衰减系数矩阵进行筛选5.2.5十个位置处的吸收率由于X射线的初始位置与竖直方向夹30度角,因此经过直接傅里叶反变换产生的图像并非实际方向,而是与竖直方向夹30度角的。因此,想要求出10个位置的吸收率,首先需要把这些点的坐标转换到Excel表格对应的坐标系——衰减率坐标系中。已知模板的形状和位置,即椭圆长轴平行于y轴,因此,坐标系可共用一个模板,即围绕这个模板作两个坐标系。但由于两坐标系的原点不在同一位置,故需要采取一个中间坐标系进行转换。因为在衰减率坐标系中难以找到椭圆中心,因此可选取圆形的圆心作为中间变换坐标系的原点。利用Excel快速分析中的色阶分析命令分析,可以找到圆形模板在表中所对应的位置,如图5.2.7所示。观察圆的边缘,当某一行的数据出现突变时,可以认为该行所在直线是圆的切线,记录行数。同理可以找到另一条切线并记录该切线所在行数,由此可知圆的直径大小为两行行数之差。同样,可以找到与圆相切的两列,得到直径大小。最后以二者的平均值作为圆的最终直径,两列序号的中间值为圆心的纵坐标,两行序号的中间值为圆心的横坐标。16· 图5.2.7圆形模板位置以正方形托盘的左下角为原点o,水平向右为x轴,竖直向上为y轴建立平面xoy坐标系。模板中的圆形模板在此坐标系下的圆心位置为(95,50)。再以Excel表格的左上角(1,A)为原点o2,水平向右为v轴,竖直向下为u轴建立平面uo2v坐标系。圆心在此坐标系下的坐标为(,)。为了能实现10个位置坐标的变换,需要以圆形模板的圆心o1为原点,平行于x轴的轴为x1轴,平行于y轴的轴为y1轴建立x1o1y1坐标系。同理建立u1o1v1坐标系。坐标系的建立如图5.2.8所示。图5.2.8坐标假设A点为10个点中的任一点,在xoy坐标系下的坐标为(,),在x1o1y1坐标系下的坐标为(ͳ,ͳ),在uo2v坐标系下的坐标为(,香),在u1o1v1坐标系下的坐标为(ͳ,香ͳ)。已知圆形圆心o1在xoy坐标系下的坐标为(95,50),由向量相减准则可知:17· ͳ−ͳ整理得:ͳ(17)ͳ因为x1o1y1和u1o1v1坐标系原点均为o1,夹角为-120度,故可用坐标变换公式求得(ͳ,香ͳ):'xxcosysin'yycosxsin整理得:ͳ͵ͳ−ͳ−ͳ䁛×(18)ͳ͵香ͳ−ͳ+ͳ䁛×再运用向量相加准则:ͳ+ͳ+ͳ(19)香+香ͳ经过(17)、(18)、(19)式,可将10个点的坐标变换到u02v坐标系中,取整后查找Excel表格中对应坐标的数值,即为该点的吸收率。最后,得到坐标变换前后坐标及10个点的吸收率。如表1所示。表一10个点的坐标变换及吸收率六、模型评价首先,第一题有3个小问题,我们分别分析3个问题的精确度18· 第一个是求探测器单元之间的距离,我们是通过小球的长度除以投影的数量(射线通过小球投影到探测器单元的数量)即8/29.但这个数就存在误差。如图所示,只有如图一,单元格对应的射线左侧和小球相切时小球的直径才对应射线通过小球投影到探测器单元的数量,而正常情况下如图2,显然单元格射线线左侧和和小球之间存在距离,这就是是误差。而当图三所示探测器单元的右侧和小球相切时即为临界值,即为误差最大值,此时射线通过小球投影到探测器单元的数量其实为27个,探测器单元之间的距离为8/27。综上所述探测器单元之间的距离x为8/29<=x<8/27,所以它的误差为8/27-8/29=0.0204.图一图二图三第二个是求X射线的180个方向,我们是通过求射线水平射入椭圆的组数和垂直射入的组数差即为90度,即投影最大时(80)是水平射入,投影为30时是垂直切入,但是无法准确找到投影为80和30的点。只能找到79.7241和30.0690这两个点,这是误差一,而这2个点本身就是通过射线通过椭圆投影到探测器单元的数量除以探测器单元之间的距离得到的,而探测器单元之间的距离就有误差,这是误差二。而且有8组投影是79.7241,19· 分别为58-65组,4组是30.0690,分别为149,151,153,154组。虽然我们是通过2组数据的中间值相减,但还是存在误差,这是误差三。通过误差三可以求出每次旋转的方向角a范围为0.9375num2%如果num1大于num2,num1属于max,num2属于minmax(i)=num1;min(i)=num2;else%反之,num2属于max,num1属于minmax(i)=num2;min(i)=num1;endenddisp(max)%分别输出max和min数组disp(min)附录3:吸收信息转换为衰变系数(1)data=xlsread('A题附件.xls','附件3');%读入附件3的数据变成矩阵show_img(data);%进入函数(2)function[output_args]=show_img(x)p_N=256;%图像默认大小256theta_N=180;%180度平行投影pad_N=1024;%投影后变为367*180,每列数据就是当前角度下的投影值。367<512考虑到傅里叶变换是需要基2对其,故扩展为1024*180theta=0:(theta_N-1);%0~180度平行投影output_args=0;%%根据每个投影角度下的投影数据,求其一维傅里叶变换proj_sino=x;ifmod(length(proj_sino(:,1)),2)==1%如果奇数个接受栅格,则需要扩展为偶数,填充023· proj_sino=[proj_sino:zeros(1,size(proj_sino,2))];%填充一行,367*180变为368*180endpad_row=(pad_N-size(proj_sino,1))/2;%(1024-368)/2=328proj_sino=padarray(proj_sino,[pad_row0],0,'both');%368*180,上下填充328行,变为了1024*180L_pad=pad_row+ceil(((p_N.*sqrt(2)+2)-p_N)/2)+1;%原始图像大小为p_N,傅里叶逆变换后为pad_N,则需要截断数据proj_sino=ifftshift(proj_sino,1);%将实际数据移动到两端,中间的是填充的0f_p=fft(proj_sino,[],1);%求取正弦图的一维傅里叶变换,1024*180f_p=fftshift(f_p,1);%反向处理,中间的数据移动到两端,两端的数据移动到中间%%极坐标化为笛卡尔坐标系nfp=length(f_p(:,1));omega_sino=(-(nfp-1)/2:(nfp-1)/2).*(2*pi/size(f_p,1));%极半径范围-pi~pi,分成1024等分theta=theta*pi/180;%角度转化为弧度,范围0~pi,180等分[theta_grid,omega_grid]=meshgrid(theta,omega_sino);%网格后,omega_grid和theta_grid都是1024*180,theta_grid_x每一列都是一样的角度,omega_grid没一行都是一样的位置omega_image=omega_sino;%根据极半径大小,建立笛卡尔坐标系[omega_grid_x,omega_grid_y]=meshgrid(omega_image,omega_image);%网格后,omega_grid和theta_grid都是1024*1024omega_grid_x每一列的x坐标一样,omega_grid_y每一行的y坐标一样[coo_th,coo_r]=cart2pol(omega_grid_x,omega_grid_y);coo_r=coo_r.*sign(coo_th);%第一象限和第二象限内,笛卡尔半径为负coo_th(coo_th<0)=coo_th(coo_th<0)+pi;%第四象限和第二象限内,笛卡尔角度为0~pi/2;第一象限和第三象限,笛卡尔角度为pi/2~piFourier2=interp2(theta_grid,omega_grid,f_p,coo_th,coo_r,'cubic',(0+1i.*0));%根据极坐标处的值,二维插值得出笛卡尔坐标处对应的值,插值后也是1024*1024的复数矩阵crop=L_pad;target=fftshift(ifft2(ifftshift(Fourier2)));%二维傅里叶逆变换,得到的仍是1024*1024的矩阵target=target(crop+1:end-crop,crop+1:end-crop);%原始数据大小256*256,因此需要对上面的数据截断I_a=abs(target);%复数的模值I_a=(I_a-min(I_a(:)))./(max(I_a(:))-min(I_a(:)));%归一化0~1Lg_I_a=log(1+I_a);%为了好的显示效果,区对数figure,subplot(1,2,1),A=imresize(Lg_I_a,[256256]);%把400*400矩阵变成256*256%xlswrite('心脏.xls',A);imshow(A);%显示图像24· %imshow(flipud(A),[]);title('图像');xlswrite('心脏灰度.xls',G);%生成表格end附录4:光线旋转0到180度图形的投影clc;data=xlsread('A题附件.xls','附件3');%读入附件3的数据变成180*512矩阵x=[];%定义一个一维数组记录180组图形的投影fori=1:size(data,2)%180列循环flag=0;%标志位max=0;%记录每一列有值的数量forj=1:size(data,1)%512行循环ifdata(j,i)~=0max=max+1;%如果一个值不等于0max+1endendx(i)=max*8/29;%根据单位数量和长度的比求出投影值,并赋给x数组enddisp(x);plot(x);%根据数组做出图像25·

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭