- 博客(15)
- 资源 (8)
- 收藏
- 关注
转载 窗宽窗位
转自“CT诊断学”中的窗宽窗位部分。窗宽与窗位 CT能识别人体内2000个不同灰阶的密度差别。而人的眼睛却只能分辨16 个灰阶度。因此,人眼在CT图像上能分辨的CT值应为125 Hu ( 2000 / 16 )。换句话说,人体内不同组织CT 值只有相差125Hu 以上,才能为人眼所识别。人体软组织CT值多变化在20 - 50 Hu之间,人眼就无法识别。为此,必须进行分段观察,才能使
2017-07-30 19:09:00 1980 2
原创 vtkIntersectionPolydataFilter 使用心得
最近想求两个polydata的交集,找到了vtkIntersectionPolydataFilter ,了解到该滤波器的第一个输出是 交集线集( a set of lines ); 第二个和第三个输出分别为第一和第二个输入 vtkPolyData. 如果需要,后两个输出可以被相交线分割。 使用示例参考http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyDa
2017-07-30 18:30:19 4325 2
原创 医疗软件Pan、Zoom、Rotation的实现原理
Pan、Zoom、Rotation调节的实现其实都是修改vtkCamera的参数,具体为Pan 修改的是相机的焦点参数,Zoom修改的是相机的位置参数,Rotation修改的是相机的ViewUp参数。 以下是对vtkCamera的一点介绍: 观众的眼睛就好比三维渲染场景中的相机,VTK则是用vtkCamera类来表示三维渲染场景中的相机。vtkCamera负责把三维场景投影到二维平面,如屏幕、图
2017-07-30 18:08:11 1684
原创 vtk面绘制的实现
如题:将图层数据(vtkimagedata)生成3D对象(vtkpolydata) 示例代码如下:vtkSmartPointer<vtkMarchingCubes> pMarchingCubes = vtkSmartPointer<vtkMarchingCubes>::New(); pMarchingCubes->SetInputData(vtkimagedata); pMarch
2017-07-30 17:34:26 4155
原创 VTK ICP配准
ICP 全称为vtkIterativeClosestPointTransform,也是vtk经典配准算法之一,输入为vtkdataset,需指定迭代次数,配准效果优于Landmark配准,但效率低于landmark 示例代码如下: vtkSmartPointer<vtkIterativeClosestPointTransform> icpTransform = vtkSma
2017-07-18 09:57:24 2805 2
原创 VTK Landmark配准
1、Landmark是vtk中比较经典的配准算法之一,输入为两个点集(点数相等),做线性变换,适用于粗配准,优点是效率高。示例代码如下: vtkSmartPointer<vtkLinearTransform> transform = LandmarkReg(pointsTreated, pointsNontreated); DxMatrix4x4 matrix = TransformAc
2017-07-18 09:42:44 3053
原创 Cmake用到的语句记录
1、如题:Implant 下有两个文件夹Nails、Plates,希望用Cmake命令将每个文件夹中的文件拷贝到Bin目录下,CMakeLists.txt与Implant放到同一目录下,可在CMakeLists.txt中用以下语句实现COMMAND ${CMAKE_COMMAND} -E remove_directory Implant\\.svnCOMMAND ${CMAKE_COMMAN
2017-07-17 09:28:02 3830
原创 QTableWidgetItem 中文字布局
QTableWidgetItem中内容的对齐方式和其他Qt控件一样,分为Qt::AlignLeft、Qt::AlignRight、Qt::AlignHCenter、Qt::AlignJustify、Qt::AlignTop、Qt::AlignBottom、Qt::AlignVCenter等,但是如果想让内容与左边空4个字符,是没直接的Qt指令的,此时我想到的办法是new 一个QPixmap,作为QT
2017-07-17 09:12:11 1572
原创 Qt 文件创建与内容存储
以下代码的功能是将字符串中qsImplantNameString的内容保存到路径ImplantDirectory下的名为kImplantInfor的txt文件中。 QString ImplantDirectory = qsPatietnOpPlanPath + QDir::separator() + kImplantFilesFolder; QDir ImplantDir; if (!I
2017-07-10 10:15:55 829
原创 QDialog 可移动
重写QDialog 的 void mousePressEvent(QMouseEvent *event)、 void mouseMoveEvent(QMouseEvent *event)、void mouseReleaseEvent(QMouseEvent *event) 三个函数,实现拖动QDialog标题栏移动QDialog的功能。 .h文件中定义如下成员变量 代码如下: protect
2017-07-10 09:48:36 3321 1
原创 VS2015秘钥、MVC框架的一点体会
将最近写代码的一些体会总结如下,希望下次可以不犯相同的错误,节省时间 1、现象:工程中有一对函数,但是没有调用,诡异的是程序走到这会崩溃,提示空指针 解决:分析call stack,发现实际是想调该函数上面的一个函数,之所以空指针,是因为内存里为随机数,所以原因是编译不对了,此时将所有代码rebuild,就可以了(试过只将问题代码所在工程rebuild,不见效果) 2、现象:使用M
2017-07-06 09:43:25 1252 1
原创 vtkCutter实现vtkDataSet的切割用指定的隐函数
以下代码实现了用vtkcutter类cut polydata。示例代码如下: vtkSmartPointer<vtkPlane> CutterPlane = vtkSmartPointer<vtkPlane>::New();//用于裁剪的隐函数,本例用的是vtkPlane CutterPlane->SetOrigin(); CutterPlane->SetNormal(); /
2017-07-03 10:51:22 3498 1
原创 vtkPolydata转换成QPixmap
vtkWindowToImageFilter的作用是将vtkWindow中的数据转换成各种格式的图像,比如我想将vtkPolydata显示在基于Qt的Panel的任意一个位置,如果选择将vtkPolydata按照可视化管线的流程显示,效果会很好,还可以互动,但是实现起来非常麻烦,有的时候只是想简单的看一下Vtkpolydata的缩略图,此时可以用vtkWindowToImageFilter将数据转换
2017-07-03 10:33:14 692
原创 VtkPolyData的镜像操作
以下代码完成了vtkPolyData沿x轴的镜像变换void MirrorPolydata(vtkSmartPointer<vtkPolyData> &polyData){ int nAxis = 0; double bounds[6]; polyData->GetBounds(bounds); double adjust[3] = {0, 0, 0}; adj
2017-07-03 10:06:48 1499
原创 vtkPolyData 的空间变换(平移、旋转、缩放)
vtkPolydata的空间变化主要基于vtkTransform与vtkTransformPolyDataFilter两个类实现,示例代码如下: vtkSmartPointer<vtkTransform> pTransform = vtkSmartPointer<vtkTransform>::New(); pTransform->RotateX(90);//x轴旋转90度 pTra
2017-07-03 09:57:00 6773 1
itkTextureFeature.pdf
2020-08-05
Win64OpenSSL-1_1_1g.exe
2020-04-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人