小编Tom*_*ohl的帖子

在本机Python中解析DICOM文件

解析DICOM文件的最简单,最pythonic的方法是什么?

不使用非Python库的本机Python实现将是更受欢迎的.DICOM是数字医疗成像中的标准文件格式(有关更多信息,请查看此处).

有一些C/C++库支持读取(子集)DICOM文件.其中两个或三个甚至都有Python绑定.本机Python解析器可以为我提供两个目的:

  1. 无需构建任何外部C/C++库.
  2. 了解DICOM文件格式.

python format image medical dicom

19
推荐指数
4
解决办法
2万
查看次数

将所有字段从一个数据类实例复制到另一个实例的最简单方法?

假设您已经定义了一个 Python 数据类:

@dataclass
class Marker:
    a: float
    b: float = 1.0
Run Code Online (Sandbox Code Playgroud)

将值从一个实例复制marker_a到另一个实例的最简单方法是marker_b什么?

这是我尝试实现的目标的示例:

marker_a = Marker(1.0, 2.0)
marker_b = Marker(11.0, 12.0)
# now some magic happens which you hopefully can fill in
print(marker_b)
# result: Marker(a=1.0, b=2.0)
Run Code Online (Sandbox Code Playgroud)

作为边界条件,我不想创建新实例并将其分配给marker_b. 好的,我可以遍历所有定义的字段并一个一个复制值,但我想必须有一种更简单的方法。

python python-dataclasses

15
推荐指数
4
解决办法
8943
查看次数

使用 pyyaml 序列化自定义类

我想通过指定如何序列化自定义类(我无法修改或猴子补丁)来序列化此类实例。

这是设置:

# some custom class which I cannot modify
class Custom:
    def __init__(self, a, b):
        self.a = a
        self.b = b

# data I want to serialize
data = [Custom(1, 2), Custom(101, 102)]
Run Code Online (Sandbox Code Playgroud)

下面是我对 JSON 的处理方式:

import json

# helper function to handle the custom class
def default(d):
    if isinstance(d, Custom):
        return dict(a=d.a, b=d.b)

print(json.dumps(data, default=default))
# expected and actual output: [{"a": 1, "b": 2}, {"a": 101, "b": 102}]
Run Code Online (Sandbox Code Playgroud)

我正在努力寻找等效的解决方案pyyaml

import yaml

def yaml_equivalent_of_default():
    "YOUR SOLUTION GOES …
Run Code Online (Sandbox Code Playgroud)

python pyyaml

4
推荐指数
1
解决办法
2165
查看次数

标签 统计

python ×3

dicom ×1

format ×1

image ×1

medical ×1

python-dataclasses ×1

pyyaml ×1