3DSlicer12:风格准则

1.代码风格

从VTK继承的类要保持VTK传统命名规则。VTK的代码设计标准参考如下:

1.1 命名风格

  • 缩写词应该用同样大小的字母表示(全大写/全小写)
RASToSlicer RasToSlicer;vtkMRML vtkMrml;vtkSlicer vTKSlicer
  • 单词应该全拼而不是缩写
GetWindow GetWin
  • 文件名鼻血采用‘驼峰’惯例
TestMyFeature.c Test_My_Feature.c
  • 使用美式英语单词
Millimeter Millimetre;Color  Colour;

1.2 注释风格

  • 头文件中注释全面的注释信息;
  • 当代码发生改变时应该及时进行标注;
  • 需要重新考虑的代码,应该用关键词‘todo’进行标记;
  • 在源代码文件中尽量不要使用注释快

1.3 功能风格

  • 不要混淆不同层次的抽象
例如,当我们处理文件名和文件路径的时候,应该使用VTK类中的kwsys::SystemTool、Qt类中的QFileInfo/QDir、或者Python中的os.path。而不是人工进行字符串操作:
QString filePath = directoryPath + ''/'' + fileName + ''.exe'';
应该采用:
SystemTools::JoinPath();SystemTools::GetFilenameName();
QFileInfo(QDir directorty, QString fileName);QFileInfo::suffix();QFileInfo::absoluteFilePath();
os.path.join();os.path.splitext();os.path.abspath();
  • 尽量使用标准模板库,但是要遵循VTK指南
VTK中如何使用标准模板库,可以参考如下网址:
注意:
1.在Qt文件中,更提倡应用Qt容器类而不是标准模板库;
2.vtkCollection和std::list<vtkSmartPointer<vtkObject*>>具有相同的功能。

1.4 语言风格

C++、Python、CMake

1.5 库依赖风格

  • MRML类只依赖vtk和itk(并不依赖Slicer logic和Qt哦)
  • 逻辑类Logic依赖MRML存储状态
  • 逻辑类Logic能够封装vtk/itk,实现特定的Slicer任务(例如对体数据重采样后显示)
  • GUI类依赖MRML、Logic、Qt

1.6 坐标系风格

  • 3D世界空间坐标系采用RAS空间坐标系。世界坐标系、解剖坐标系、图像坐标系如下图:

  • 所有的单位都是毫米millimeter

1.7 错误与警告风格


itk/vtk/qt、std::cout、std::cerr......错误日志里面所有的错误都可以根据他们的类型(debug/warning/error),利用文件过滤器找到。
  • Qt:qCritical()、qWarning()、qDebug()
对于Error信息使用qCritical():
 if (somethingWrongHappened)
   {
   qCritical() << "I encountered an error";
   return;
   }
对于Warning信息使用qWarning():
 qWarning() << "Be careful here, this is dangerous";
对于Debug信息使用qDebug():
qDebug() << "This variable has the value: "<< value;
  • VTK-based:vtkErrorMacro()、vtkWarningMacro()、vtkDebugMacro()
对于Error信息使用vtkErrorMacro():
if (somethingWrongHappened)
   {
   vtkErrorMacro("I encountered an error");
   return;
   }
对于Warning信息使用vtkWarningMacro():
vtkWarningMacro("Be careful here, this is dangerous");
对于Debug信息使用vtkDebugMacro():
vtkDebugMacro("This variable has the value: "<< value);

2.UI设计准则

2.1 一般准则

  • Section:
Section用来对参数进行分类。上图是‘Rendering module’,包含三个sections,‘Input’、‘Display’、‘Advanced...’
默认的情况下,‘Input’和‘Advanced...’都是折叠的。
  • Parameter:

对齐,空间利用合理即可。

2.3 文本

  • 首字母大写;
  • 句子压缩,简单明了;
  • 不要使用冒号 ‘:’
  • 使用美式英语,不要使用缩略词
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PyCharm是一款功能强大的Python集成开发环境(IDE),而3D Slicer是一种用于医学图像处理和可视化的开源软件。从引用中可以了解到,要汉化PyCharm,需要解压汉化jar包,然后将文件复制到PyCharm的lib目录中,并重新启动PyCharm。至于3D Slicer,从引用中可以得知,我们需要将两个文件夹拷贝到3D Slicer的环境目录中。 所以,PyCharm和3D Slicer是两个不同的软件,分别用于Python开发和医学图像处理。如果你想汉化PyCharm,可以按照引用的方法进行操作。如果你想使用3D Slicer,可以按照引用的方法将文件夹拷贝到3D Slicer的环境目录中。另外,从引用中可以了解到,在3D Slicer中有一个“Restart and Slicer”按钮,用于重新启动软件。当我们希望在关闭3D Slicer后立即打开一个新的实例时,可以使用这个按钮。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [pycharm 3 汉化](https://download.csdn.net/download/qq_36291550/10001935)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [3DSlicer扩展模块如何加入外部扩展包?](https://blog.csdn.net/qq_42411234/article/details/125500114)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [3Dslicer默认扩展模块界面介绍](https://blog.csdn.net/qq_42411234/article/details/125498691)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值