mimics中文版教程(持续更0812)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章Mimi
本教程的第二个例子中,我们将为你展示Mimics的一些基本功能,所要讨论的主题如下:●打开工程Opening the Project
●窗口化Windowing
●二值化Thresholding
●区域增长Region Growing
●建立3D表示Creating a 3D representation
●显示3D表示Displaying a 3D representation
●STL+过程STL+ Procedures
●生成STL文件Generating a STL file
●RP分层过程RP Slice procedures
●生成一个轮廓文件Generating a contour file
●生成支持文件Generating supports
●结果视图View of the end result
1.打开工程
在文件菜单栏中,选择打开工程选项(或者直接用快捷键Ctrl+O),打开对话框中将显示工作目录中所有工程,双击打开mimi.mcs文件。

所有的图片都被打开并显示在三个视图中,右边视图是轴视图(xy-view或者axial view),左侧上面的视图是前视图(xz-view或者coronal view),左侧下面的视图是侧视图(yz-view或者sagittal view)。

不同颜色的交叉线代表了每个视图的等高线(contour lines),每条指示线能够标记相关视图的切片。

你可以在任意视图的CT图片的任意位置直接用鼠标点击你想要操作的位置,交叉线的位置将会到达你所点的位置,所有试图将更新显示为相关的切片。

如果视图中有些方位标记有错需要修改,在File > Change Orientation中打开窗口你可以通过右键鼠标选择正确的方位。

在菜单栏View > Indicators中可以选择分别关闭刻度线(Trick Marks)、交叉线(Intersection Lines)、分片位置(Slice Position)、方位字符(Orientation strings)指示器。

窗口右侧的滚动条可以用来转动视图中的图片。

在当前工程中(Mimi),所有的视图是正确的。

如果你想在图片集中除去某些不合适的图片,用教程案例1中的方法,在File > Organize Images中进行操作。

2. 窗口化
首先,我们必须把不同视图中的图片对比度调整到一个合适的值。

对比度的增强,有助于选择不同密度的部分,例如骨头和脑肿瘤,这个操作可以在任何时候做。

可以在工程管理器的对比度标签中改变之
对比度标签显示了工程的直方图,并且用一条线代表了“窗口”,灰度值或者HU值低于这条线的起点值的地方将会显示为黑色,所有灰度值在这条线终点值之上的将显示为白色,灰度值在窗口值之间的地方将显示为渐变的灰色。

你可以单击鼠标左键拖动“窗口线”到想要的位置来改变“窗口”的大小,要想移动“窗口”,选择那条线并拖动到新的位置即可。

你也可以在标签底部选择预先定义好的窗口。

下面将描述想要获得一个好的分片掩膜需要进行的步骤。

一个分片掩膜是你所感兴趣的像素所组成的一个你可以进行处理的对象。

一般可以建立多个独立的或者不独立的掩膜,不同的掩膜用不同的颜色标记。

通常要获得最终的掩膜可能需要几个不同的掩膜来相互操作而得到。

3. Thresholding二值化
二值化保留分割对象的图片中灰度值大于或等于阈值的像素,有时需要定义阈值的上界和下界,分割掩膜将保留所有灰度值在上下界之间的像素。

例如,比较小的阈值选择病人的软组织比较容易,阈值比较大则只会保留比较稠密的部分。

定义上界和下界阈值选择神经部分就比较容易。

如何定义一个好的阈值取决于建模的目的,如果你想要一个好看的模型,建议使用比较小的阈值,因为这样建出的模型洞比较少;相反,如果是为了建立义肢的模型服务的话就推荐使用比较大的阈值。

单击Threshold按钮。

通过Threshold Toolbar的滑动条来改变阈值
选择一个合适的阈值的窍门:
看不同的图片,你可以改变图片:
●使用arrow,page up和page down
●使用窗口右边的滑动条
●移动切片指示器
单击Profile按钮
在轴视图中穿过骨头画一条线:在软组织地方单击鼠标左键来标记起始点,拖动鼠标穿过骨头后单击,这样沿着这条线就产生一个强度截面,这些直横线代表了你现在的阈值。

点击Start Thresholding,上下拖动下界直线来设定一个好的阈值。

如果你想要一个好看的模型,就选择比软组织强度平衡水平稍高一些的阈值;如果你想做一个义肢模型,就把线拖到软组织平衡水平和骨头最大值之间。

当选择好合适的阈值时,单击End Thresholding保存当前阈值。

过程中你可能需要放大图片的局部,方法如下:首先,从zoom按钮旁的下拉菜单,选择Box,点击Zoom按钮,这是光标显示为一个小型放大镜,在图片上单击鼠标左键,划定放大
的区域矩形之后放开则放大,若要返回到整个图片,单击Unzoom按钮
对Mini来说,一个好的阈值大约是270(Hounsfield scale),阈值在Threshold工具栏的Min.box 中显示。

要结束阈值选择,单击Apply按钮。

在Thresholding操作之后,将创建一个绿色掩膜,在一个工程中你可以有不同的掩膜,但你只能在有效掩膜上进行操作,在工程管理器重的掩膜选项卡中选取掩膜则该掩膜变为有效掩
膜(被激活)。

如果工程管理器没打开,在菜单栏view中选择工程管理器按钮
如果想隐藏某些掩膜,点击对应的眼镜即可。

4. Region growing 区域增长
区域增长工具能够将二值化得到的分割分成几块,同时去除漂浮像素
单击Region growing按钮或快捷键Ctr+R,鼠标的光标现在显示为十字,同时可看到
Region Growing窗口在屏幕上显示。

选取源掩膜(这里取Green)和目标掩膜(一个新掩膜),在感兴趣的对象(头骨的一部分)的绿色区域单击鼠标左键,此时程序开始计算新的分割,所有当前分割对象中与标记点相连接的点将组成一个新的掩膜,这个新的分割标记为黄色。

点击Close按钮关机Region growing 窗口
在视图工具栏中选择Yellow掩膜,隐藏绿色掩膜之后可检查Yellow掩膜是否正常。

在不同图片中(不同视角?)检查掩膜
当检查图片之后,如果一切正常,则可以建立3D图形了。

提示:在区域增长之前必须进行二值化,因为二值化以后所有之前做的工作都没掉了。

5. 创建一个3D表示
在掩膜标签中你能够看到所有之前创建的掩膜以及他们各自的阈值,这些掩膜的名字是Green和Yellow,被选中的掩膜则为active的。

现在你暂时还知道Yellow掩膜包含头盖骨,但一个月之后,当你重新载入该工程的时候,你可能很难记起你所存储的结果,因此,最好重命名掩膜,方法为单击Yellow为可编辑状态,输入新名字即可。

单击Calculate 3D按钮
“Calculate 3D Models”对话框显示
这时你可以选择用哪些掩膜来创建3D模型,多选的话只需按住Ctrl键选择即可,这个例子中只选择skull掩膜,单击Calculate按钮,则生成一个3D对象
你可以设置所生成模型的可视化质量,这个只是在屏幕上显示的效果,不影响你在RP机器上实际创建的模型。

当然,质量越低,生成模型的时间越少,且之后加载的时候占用的内存也就越少。

6. 显示一个3D表示
你可以在右边垂直的3D工具栏上设置不同生成的3D模型的可见性,这也可以在工程管理器的3D对象标签中点击小眼镜来设置。

当3D图像加载之后,可进行以下操作:
●通过按钮来旋转模型,此按钮在3D窗口的右侧,或者点击鼠标右键移动来旋转●通过按钮来选择不同的标准视角,如顶部,前面,底部等
●通过按钮来进行缩放,通过按钮进行移动
●右键选择Color选项,可以改变模型的颜色
点击Toggle Transparency按钮可以设置模型显示为透明的,你可以单击3D对象标签的透明度一栏的按钮选择不同的透明程度(high-medium-low-opaque)
要改变背景颜色,可以到View > 3D Background Color选择你喜欢的颜色
7. STL+过程
PS:STL = STL文件,一种3D模型文件格式STL(ST ereo Lithography的缩写),是一种为快速原型制造技术服务的三维图形文件格式。

在Mimics和STL+之间的中间文件格式可以为以下几种:
●“.3dd”文件
●掩膜
●3D对象
你可以通过点击工程管理器的掩膜标签中的Export 3dd按钮或者主工具栏的Export > 3dd来生成一个skull.3dd文件,单击Save按钮之后.3dd文件将被保存在MedData文件夹中。

这一步并不是必须的,机器文件的计算也可以直接在掩膜或者3D对象上进行。

单击工程管理器中的掩膜标签上选择动作列表中的STL+按钮,一个窗口将出现,有三个不同的标签
提供三种选择。

选择掩膜标签,选择skull掩膜并点击Add按钮,如果想选择3D对象的话就选择3D标签。

请注意,可以选择多个掩膜,或者多个3D对象,但不能太难过同时选择掩膜和3D对象
如果你有兴趣为快速成型(Rapid Prototyping)创建中间文件,或者导出一个STL或VRML文件,请继续看下面的教程:
在选择了掩膜或者.3dd文件和按了Add按钮之后,文件会出现在输出区域,如果愿意你可以改变输出文件名,比如为skull
选择输出格式,有许多不同的输出格式,如STL,VRML
7.1生成STL文件
点击Next按钮,将会出现转换到STL对话框
你可以使用屏幕截图中的所有参数,进一步的关于参数的解释可以查询手册,也可以点击help按钮
选择合适的参数,然后单击Finish按钮,将生成一个STL文件
8.快速成型(RP,Rapid Prototyping)分层过程
8.1 RP分层过程
在RP分层对话框中,你可以由一个掩膜或者3dd文件生成一个轮廓文件,由一个轮廓文件生成一个支持文件
8.2 生成一个轮廓文件
在工程管理器的掩膜标签中选择动作列表中的RP Slice按钮,从刚刚打开的RP分层窗口的掩膜标签中选择skull掩膜,点击Add按钮,掩膜将在下面的区域中显示,选择SLI 输出格式。

单击Next按钮,出现转换到RP格式对话框,你可以使用对话框中的参数
点击Next按钮,出现计算参数对话框,按如下显示填写值
单击Finish按钮,计算开始然后生成一个SLI文件
若要计算支持结构,继续看教程:
8.3 生成支持
为了建立一个Stereolithography对象,要用RP分层模块处理分层文件直接生成一个支持文件。

打开RP分层窗口,选择轮廓文件标签,在输入格式区域选择.SLI选项,选择你之
前创建的文件,点击Add按钮
当一个轮廓文件被选择时,点击Next按钮,打开下面所示窗口:
注意:也可以为Stratasys machines产生分层文件,请参考STL+指导手册查看如何在快速切片(Quickslice)中使用这些文件
该程序默认,所以整个模型都被支持,然而这并不必要。

从底向上建厂分层,寻找新的‘islands’,为了防止这些islands在创建过程中浮动,需要支持他们。

在“Mimi”的情况下,一个支持到达层高50.00足够了(取决于所使用的resin?)
点击Finish按钮开始支持生成,将产生一个SLI文件
现在,你就有了一个模型和一个支持文件!好运!
9. 生成的结果
第三章Simon
这个Simon的案例是一个牙科手术,病人的下颌骨部分缺齿,因此需要植入假牙。

首先,扫描假牙,这个假牙像新牙一样被植入。

在CT扫描时,病人把这些假牙放在他嘴里的相应位置。

因为假牙是有硫酸钡(一种不透明材料)做成的,所以在CT图汇总你能够看到骨头和假牙。

这样的一个过程给出了一个比较好的结果,使得医生能够做更好的计划。

这个Simon工程中时下颚和假牙的CT扫描图,你需要把下颚骨和假牙分离开。

我们即将从以下几个方面讨论:
●打开工程
●准备数据
⏹窗口化Windowing
⏹二值化Thresholding
⏹区域增长Region growing
⏹编辑Editing
⏹人工制品Artifacts
⏹多粒子Multiple particles
⏹扫描假牙(义齿)Scan prosethesis
●布尔操作
●最终结果
1.打开工程
在File目录中,选择Open(或者使用快捷键Ctrl+O),双击文件Simon.mcs
2.数据准备
2.1窗口化
具体做法见“Mimi”案例2
2.2二值化
在轴视图中找到下颌骨(没有牙齿,比如在位置-30.50处),点击Profile line按钮,画一条穿过骨头的线。

下图显示了所画的剖面线以及剖面对话框:
点击Start thresholding,把阈值线拉到538(Hounsfield scale),二值化之后保存设置,关闭对话框。

2.3区域增长
点击Region Growing按钮,然后在头骨的骨头上单击一下,则开始区域增长,此时头骨部分被添加到一个新的掩膜,在工程管理器的掩膜标签中把该掩膜的名字改为“skull”,取消之前掩膜的可见性(取消之前要确保skull掩膜被激活)。

2.4编辑
2.4.1分离上颌骨和下颌骨
我们必须手动分离上颌骨和下颌骨,因此我们需要在上、下颌骨之间的某个地方从有效的掩膜中擦除一层,然后再下颌骨上做区域增长,结果将会使上、下颌骨在不同的掩膜,因此就分开了。

观察侧视图把水平线指示器放在上颌骨和下颌骨之间,请注意并不是在每张图片里
都可以清晰的区分开它们,所以应该找到最好位置。

如下图:
在相关的轴向试图中,必须从有效掩膜中擦除所有的像素,上图中和水平指示器相关的轴视图的位置在-4.50,在对应位置点击Edit masks按钮,选择Erase模式,选择一个大的矩形光标,去除有效掩膜上的所有像素,确保擦除所有而没有遗漏的地方。

到数据集中的下层图片中对下颌骨做区域增长(不要激活Leave Original Mask 选项),现在你就有两个掩膜了,一个是下颌骨,另一个是上颌骨的。

注意:在区域增长工具栏中,如果你启动了Leave Original Mask 选项,区域增长所选择的像素就会被放进一个新的掩膜中,同时在原掩膜中也会保留,如果区域增长的结果不令人满意,你仍有原来的完整的掩膜,因此你可以重新开始再进行一次区域增长。

如果该选项没有被启动,区域增长选择的像素就会从原掩膜中去除,这种情况下,你就不能再从同样的原掩膜中再进行一次区域增长了,因为原来的掩膜已经发生了变化。

分别改变两个掩膜的名字为“mandible”和“maxilla”,下图中展示了两个掩膜,红色的线知识了被从有效掩膜中擦去的图层。

但注意,因为不可能100%正确的分离,我们人需要对图片进行编辑来确保属于下颌
骨的像素真正的都在下颌骨掩膜中。

滚动头部图片,检查是否属于下颌骨的每个像素都在正确的掩膜上,你有注意到64.50位置上的一些本属于上颌骨的像素(左侧图片中)被错误的放在了下颌骨掩膜中吗?
移动两条指示线直到他们的交叉点指示出错误的像素(像上图那样的),属于上颌骨牙齿关系到两个图层的像素,在两个相关的轴向图片中(位置-6.50和位置-5.50),从下颌骨的掩膜中擦掉牙齿。

你不太可能弄错,因为牙齿的部分也会被指示线的交叉点标明(如下图所示)???如果在头部图片中两层像素都显示为灰度值,你就可以确定你已经从mandible掩膜中擦出了真个牙齿。

否则,继续移动头部图片中的指示器直到它们的交叉点找到错误颜色的点,在周视图中,去除有效掩膜中被指示的像素。

注意:你仍可以按住SHIFT键来实现一键擦除功能。

轴视图(位置:左图-5.50,右图-6.50):指示线指出了不属于下颌骨掩膜的牙齿部分。

在侧视图中位置87.25处(或者头部图片位置43.25),可以看到另一些像素坏点,但这次是相反的情况。

三层属于下颌骨的像素却不在mandible掩膜中,其中两层归属于maxilla掩膜,另一层是我们最开始分割时擦除的。

跟之前一样,用指示线标记这些像素,如下图所示。

在相关轴向图片中(位置-4.50和-3.50和-2.50),这些像素应该被加入到mandible掩膜中,我们将使用一个本地阈值来实现,为了弄清楚这个阈值,需要插曲一下。

指示线指出应该属于mandible掩膜的像素(侧视图)
本地阈值(Local threshold):在填充体(obturator)实例中提到,在编辑工具栏中有三个可选模式:画draw,擦除erase和阈值threshold,阈值模式(Ctrl+T)就是用来设置本地阈值的,也就是说如果你在一张图片的某块区域应用本地阈值的话,这个阈值就不会对工程里的其他图片产生作用,注意区分我们在案例开始时设置的阈值是全局阈值,全局阈值对数据集中的所有图片都产生作用。

当你启动这个模式之后,包含默认阈值的对话框就会出现,双击其中一个可进行修改,修改完之后按Enter键完成修改。

当你在图片上移动擦除矩形时,所有在阈值之内的像素将会被添加到有效掩膜中,在阈值范围内的本来就属于有效掩膜的像素,如果没有灰度值将会被从掩膜中去除。

本地阈值范围
我们暂时不需要修改阈值,在之后取出图像伪影时就需要修改了。

可能你在想为什么不采用obturator例子中使用的画线的方式把属于下颌骨的像素添加进去,如果使用画线的模式就不能把像素添加进掩膜中吗?当然可以,但和阈值模式是有区别的,区别在于画线模式中你的光标所触及的像素都将被添加,但阈值模式中,只有HU值在阈值之间的像素才会被添加进去。

在这种情况下,我们应该考虑像素的灰度值来添加,这样我们的分割才更精确。

快捷键Ctrl+T,编辑工具栏就会出现,阈值模式已被选择,光标形状选为圆形,大小和牙齿相近,切记操作之前应该确保下颌骨掩膜已被设置为有效的。

点击鼠标左键在牙齿上移动光标,确保你覆盖到整个牙齿。

你可以通过在前视图和侧视图中检查:如果其他掩膜中有下颌骨掩膜的颜色没关系,否则就有可能你漏掉了某些像素。

万一你不小心多添加了不属于下颌骨的像素,只需选择Erase模式,擦掉多选的就可以了。

当你在必要的轴视图进行多次本地二值化之后,你应该获得如下图所示的侧视图:
本地二值化之后的侧视图
至此,我们才把整个下颌骨包含在了下颌骨掩膜中。

2.4.2 伪影
目前为止,因为有伪影,图片看起来还不够完美,我们需要再次进行本地二值化来去除伪影,这次就不能想上面添加像素一样使用默认阈值了。

快捷键Ctrl+T进入编辑模式,同样已选择阈值模式。

在阈值窗口中,修改阈值1为3000(HU),在伪影上移动光标,由于伪影的HU低于牙齿的HU,则伪影将会消失。

为什么要选择如此高的阈值呢?因为伪影的HU值小于牙齿,通过设置高阈值,掩膜上的伪影由于灰度值不在范围内,因此就会被去除。

如果你不小心光标放到了牙齿上,牙齿将保留在掩膜中,但边缘的HU值较低,所以可能消失,如果真的被去掉了,不要紧张,把阈值设置为默认值,把光标放在被去掉的地方来恢复边缘。

按照所述方法,滚动轴视图,去除所有下颌骨掩膜中的伪影。

通过本地二值化,左图中伪影被去除,结果如右图。

2.4.3 多粒子
现在来尝试着生成下颌骨的3D模型。

点击Calculate 3D按钮,选择下颌骨掩膜来生成,你将会看到如下警告,选择Yes。

点击3D按钮查看3D模型,旋转模型,你会发现在下颌骨附近漂浮着一些例子,这就是为什么你看到上面警告信息的原因。

这些粒子来源于去除伪影的步骤,为了避免这些粒子,需要在生成3D模型之前先做区域增长。

点击ED试图按钮再回到轴视图,点击Region growing按钮,再点击下颌骨,把生成新的掩膜命名为“Total mandible”,现在就可以生成最终的3D模型了,你可以把之前生成的3D模型删掉。

2.4.4 扫描义齿
你能在3D模型中区分真牙和假牙吗?其实非常简单,人本身的牙齿和骨头是项链的,但假牙就没有。

病人左边有三颗义齿,右边有一颗,下图中,义齿(轴视图)已经用红色矩形来标记。

轴视图中用矩形标记义齿
我们更希望把下颌骨的真牙和假牙分在不同的掩膜中,有两种方法:一是处理之前得到的最终下颌骨掩膜,除去其中的假牙,二是对假牙进行分割。

我们选择后者,将对假牙进行两次区域增长,左右两边各一次。

但进行区域增长之前,必须保证义齿已经完全和真牙完全分开,因此需要去除义齿周围和连接到义齿的像素,目的是
是每张图片中义齿完全的独立出来。

谨记以下建议:一定要去除义齿周围的足够的像素,因为有时候在2D视图中看起来没有连接,但3D中确是连起来的。

工程管理器——掩膜标签
使最后一次生成的下颌骨的掩膜成为有效掩膜,点击掩膜标签工具栏中的Dulpicate 按钮,将会生成这个掩膜的复制品,我们将保持原掩膜不变,在后面会对其进
行布尔操作,而利用复制掩膜来进行义齿分割。

如果你不喜欢掩膜的颜色可以换一种你喜欢的颜色,转动轴视图,去除义齿周围的像素,记得是足够的像素,下图显示的是位置在-11.50处的轴视图。

在这一层中义齿已经和真齿分离
如果你已经完全分离了义齿,就按Region Growing按钮进行区域增长,确保你的目标掩膜是一个新的掩膜(如果不是,在下拉菜单中选择“new mask”)且选中Leave Original Mask选项。

先点击左侧(或右侧)义齿,如果你完全分离了义齿,则在目标掩膜中只有义齿会显示颜色,否则就要重新进行分离,激活之前的掩膜,删除列表中最后一个掩膜(即区域增长生成的掩膜)。

另外,在你看不到义齿的图层中,这有助于去除一些义齿附近属于牙齿的像素。

在右侧(与上面相反)的义齿重复这些操作,给对应的掩膜进行对应的命名。

2.5 布尔操作
现在总结一下我们所生成的掩膜:完整下颌骨掩膜,左侧义齿掩膜,右侧义齿掩膜。

前面提到,我们的目的是得到没有义齿的下颌骨,通过布尔操作,我们能够达成目
的。

点击Boolean operations按钮,有以下计算式子:
不含义齿的下颌骨= 整个下颌骨–左侧义齿–右侧义齿
按如下步骤进行操作:
步骤一:
掩膜A:完整下颌骨
操作:减去
掩膜B:左侧义齿
结果:新的掩膜(暂名为掩膜C)
操作结束后,点击Apply按钮
步骤二:
掩膜A:掩膜C(第一步得到的)
操作:减去
掩膜B:右侧义齿
结果:新的掩膜
操作结束后,点击Apply按钮
点击Close按钮,最后生成的掩膜就是不含义齿的下颌骨,计算生成3D模型,同时显示左右侧义齿,其余3D可以不显示,你将可以得到如下图显示的模型。

3.结果视图。

相关文档
最新文档