2021-05-30

5.30医疗影像的一些看法

今天上午,一直在看一些医学上的数据集是怎么标注的。主要学习了ITK-snap的使用,老实说,不怎么好用,标注数据集真的是太麻烦了。

主要内容:

1.学习了ITK-snap的基本使用,(至于其他的软件,像MITK,国产的Pair还没学),对于ct通常出来的都是dicom格式,不知道要不要先转化成nii再标注还是可以直接标注,等会我去了解一下。标注出来的格式可以直接转化成 nii.gz ,有大佬说,这个格式比较省空间,那就好,毕竟医学影像的图片大小不小的哈。
2.找到了一份开源的医疗影像分割的代码,里面定义了很多2D3D的模型,真的是太感谢了,为日后不用百度的paddlepaddle提供强有力的帮助。

##补充:

  1. ITK-snap支持格式:
    ITK-snap支持格式
  2. 开源项目链接.
  3. 上面项目教程.
  4. ITK-snap教程.
### 基于 C# 实现给定 JSON 结构的代码 以下是使用 C# 生成指定 JSON 结构的完整代码示例。此代码利用了 `Newtonsoft.Json` 库来实现对象序列化[^1]。 ```csharp using System; using Newtonsoft.Json; public class Data { public string psn_no { get; set; } public string insutype { get; set; } public string fixmedins_code { get; set; } public string med_type { get; set; } public string begntime { get; set; } public string endtime { get; set; } public string dise_codg { get; set; } public string dise_name { get; set; } public string oprn_oprt_code { get; set; } public string oprn_oprt_name { get; set; } public string matn_type { get; set; } public string birctrl_type { get; set; } } public class Input { public Data data { get; set; } } public class RootObject { public string infno { get; set; } public string msgid { get; set; } public string mdtrtarea_admvs { get; set; } public string insuplc_admdvs { get; set; } public string recer_sys_code { get; set; } public string dev_no { get; set; } public string dev_safe_info { get; set; } public string cainfo { get; set; } public string signtype { get; set; } public string infver { get; set; } public string opter_type { get; set; } public string opter { get; set; } public string opter_name { get; set; } public string inf_time { get; set; } public string fixmedins_code { get; set; } public string fixmedins_name { get; set; } public string sign_no { get; set; } public Input input { get; set; } } public class Program { public static void Main() { // 创建并初始化 Data 对象 var data = new Data { psn_no = "42010000000000000005391875", insutype = "310", fixmedins_code = "H42092301528", med_type = "11", begntime = "2021-05-30", endtime = "20250412162750", dise_codg = "", dise_name = "", oprn_oprt_code = "", oprn_oprt_name = "", matn_type = "1", birctrl_type = "1" }; // 创建并初始化 Input 对象 var input = new Input { data = data }; // 创建并初始化 RootObject 对象 var rootObject = new RootObject { infno = "2001", msgid = "H42092301528202504121627501665", mdtrtarea_admvs = "420923", insuplc_admdvs = "420141", recer_sys_code = "ZLHIS", dev_no = "", dev_safe_info = "", cainfo = "", signtype = "V1.1.68", infver = "1", opter_type = "1", opter = "66", opter_name = "66", inf_time = "2025-04-12 16:27:50", fixmedins_code = "H42092301528", fixmedins_name = "云梦县人民医院", sign_no = "420900G9100002447472", input = input }; // 将对象序列化为 JSON 字符串 string jsonString = JsonConvert.SerializeObject(rootObject, Formatting.Indented); Console.WriteLine(jsonString); } } ``` 上述代码中定义了多个嵌套类以匹配目标 JSON 的结构,并通过 `JsonConvert.SerializeObject` 方法将对象序列化为格式化的 JSON 字符串[^1]。 ### 关键点解析 - **类定义**:根据 JSON 的嵌套层次,定义了 `Data`、`Input` 和 `RootObject` 等类,确保每个字段都能准确映射到目标 JSON 的键名。 - **属性命名**:类中的属性名称与 JSON 中的键名保持一致,以便在序列化时自动匹配[^1]。 - **序列化**:使用 `JsonConvert.SerializeObject` 方法将对象换为格式化的 JSON 字符串,便于阅读和调试。 ### 注意事项 - 需要安装 `Newtonsoft.Json` 库,可以通过 NuGet 包管理器进行安装。 - 如果 JSON 结构复杂或存在动态字段,可以考虑使用字典类型 `Dictionary<string, object>` 来处理[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值