建造者模式
构造函数可能非常复杂,例如:一个蛋糕,可能有各种形状、口味、尺寸、奶油、水果……构造函数需要接收大量参数,执行复杂的初始化过程(例如,需要大量条件判断这些参数是否为空)。为了解决这个问题,引入建造者模式,简化构造函数。
建造者模式需要三个关键组件
目标类:比如class Car
建造者:比如class CarBuilder,包含了构造车的各种方法
监督者
构造者模式用于建造非常复杂的对象,因此,这个目标对象可能不遵循相同的接口
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879class Car { public: std::vector<std::string> parts_; // 下划线用于区分成员变量和参数/局部变量 // std::unordered_map<std::string, ...
MONAI label学习笔记
图片配准
模板记得选nii格式的。下面的代码可以帮助配准PET/MR图像,PET图像使用MR图像的相同变换模式。
1234567891011import antsmr_image = ants.image_read('./abeta/mr.nrrd')mni_template = ants.image_read('./mni305_lin_nifti/average305_t1_tal_lin.nii')mr_to_mni_transform = ants.registration(fixed=mni_template, moving=mr_image, type_of_transform='Affine')pet_image = ants.image_read('./abeta/pet.nrrd')pet_to_mni = ants.apply_transforms(fixed=mni_template, moving=pet_image, transformlist=mr_to_mni_transf ...
原型模式
可以帮助拷贝已存在的实例而使代码不依赖于类的定义。
本质上就是为了提供一个.copy/.deepcopy方法。如果没有这一方法,就需要创建一个新的空对象,然后遍历旧实例的所有属性。
Python中使用copy.copy (self.__copy__)和copy.deepcopy (self.__deepcopy__)实现原型模式。注意:__deepcopy__(self, memo=None)的memo参数用于防止递归拷贝。
1234567891011classDiagramclass Animal {4 +mammalChild: Mammal}class Mammal { +animalParent: Animal}Animal --o MammalMammal --o Animal
上面的例子是一个存在递归拷贝的问题:拷贝animal会拷贝mammalChild,拷贝mammalChild时又需要拷贝animalParent。
1234567891011121314151617181920212223242526272829 ...
单例设计模式
Singleton:确保每一类只有一个实例,并且提供对这个实例的全局访问
通常用于需要共享的资源。例如数据库对象
Singleton还是一种有效保护使变量免遭改写的技术
实现方法
构造函数私有化
用一个静态函数作为constructor,通过它创建一个新对象并存储在一个静态空间里
Python中的实现有一些魔法,其中一个就是Python中任何东西都是对象,包括类本身也是对象。type本质上不是类,而是一个元类。type(1)输出结果是<class 'int'>,表明它创建了一个类!
12class Foo: a = 1
实际上也可以这样写:
12# type(name, bases, dict)type(Foo, (object,), {"a":1})
使用元类的目的:控制类的产生过程和对象的产生过程。继承type就可以产生元类。例如可以控制一个类必须要有文档(参考):
1234567891011121314151617class Mymeta(type): def __init__(self, class_n ...
肺的分叶与分段
右肺
上叶
尖段:主动脉弓以上,
前段:右肺上叶前段支气管
后段:右肺上叶后段支气管
中叶:水平裂与斜裂之间
外侧段:右肺中叶外侧段支气管
内侧段:右肺中叶内侧段支气管
下叶
背段:右肺下叶背段支气管
内基底段:右肺下叶内基底段支气管
前基底段:右肺下叶前基底段支气管
外基底段:与后基底段支气管来自同一段支气管
后基底段
左肺
上叶
尖后段
前段:找对应支气管
舌段
上舌段
下舌段
下叶
背段
内前基底段
外基底段
后基底段
Nuclear Medicine 肿瘤显像
PET/CT
18F-FDG类似天然葡萄糖结构,示踪葡萄糖摄取和磷酸化过程。
2号-OH取代为18F
能被葡萄糖转运蛋白识别
能被己糖激酶磷酸化生成18F-FDG-6-PO4
不能被磷酸果糖激酶识别,糖酵解终止
18F-FDG蓄积在细胞内
瓦博格效应Warbug effect:肿瘤细胞比正常细胞有更高的糖酵解和乳酸分泌水平。
适应症
肿瘤分期与治疗后再分期
疗效检测和评价
良恶性鉴别
复发和转移
治疗残余与治疗后纤维化鉴别
寻找原发灶
不明原因发热、副肿瘤综合征、肿瘤标志物异常升高
指导放疗,提供靶容积信息
指导活检和介入
新药与新技术评价
恶性肿瘤预后评估和生物学评价
显像方法
患者准备
采集病史
注射显像剂:3.7-5.55mbq/kg(成人)
图像采集:注射后45-60min
图像处理:OSEM 最大密度投影MIP等
图像分析
定性
半定量:T/NT,标准化摄取值SUV,肿瘤代谢体积MTV,糖酵解总量TLG
SUV:(ROI平均放射性活度MBq/ml) / (注入放射性活度MBq/体重g)
平均标准摄取值SUVmean:对ROI勾画敏感。一般以最大像素摄取40%为阈 ...
抽象工厂模式
简言之,就是业务逻辑需要创造一套套对应的组件。在不同条件下,需要的配套组件不同,但是这些组件都执行相似的功能。调用者直接接收一个工厂类,这个工厂类对应了一系列组件。不同的工厂制造不同的组件,但都遵循相同的接口。
换句话说,工厂实际上是对产品的一种打包!抽象工厂提供了对工厂的多态支持。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108class GUIFactory { public: virtual Button* createButton() const = 0; virtual Checkbox* createCheckbox() const = 0;};class ...
3DSlicer 笔记
Segmentation
generate from seed 很好用
Nuclear Medicine 药物与显像技术
放射性药物
体外放射分析用试剂盒不属于放射性药物,而应归类为试剂
基本特性
放射性
体内效应取决于被标记物特性
脱标与辐射自分解
radiotion self-decomposition 某些被标记物对射线作用敏感,射线作用下可发生化学结构变化或生物活性消失,导致放射性药物体内生物学行为改变
计量单位:放射性活度,而非化学量(物质的量)
99mTc\rm {}^{99m}Tc99mTc标记,一次370MBq(10mCi),化学量仅e-10~e-9mol
有效使用期
诊断用放射性药物
衰变方式:
99mTc\rm {}^{99m}Tc99mTc:同质异能衰变,γ
201Tl,111In,67Ga,123I\rm {}^{201}Tl, {}^{111}In, {}^{67}Ga, {}^{123}I201Tl,111In,67Ga,123I:电子俘获衰变,发射特征X线或γ
11C,15O,13N,18F\rm {}^{11}C, {}^{15}O, {}^{13}N, {}^{18}F11C,15O,13N,18F:β+\beta^+β+
带电荷射线电离能力强,容易对 ...
Nuclear Medicine 物理基础与仪器
物理基础
同位素、核素、同质异能素
核素的表示
ZAXN\rm {}^A_ZX_N
ZAXN
其中A为质量数,Z为质子数,N为中子数。
激发态的原子核用m表示:
99mTc\rm {}^{99m}Tc
99mTc
衰变
α衰变,空气中只能穿透几厘米
β衰变,分β+\beta^+β+和β−\beta^-β−,其中后者是与电子碰撞产生湮灭辐射,转变为两个能量同为511keV,方向相反的γ光子
γ衰变,ZAmX→ZAY+γ\rm {}^{Am}_ZX \rightarrow {}^A_ZY+\gammaZAmX→ZAY+γ,同质异能跃迁isomeric transition IT
电子俘获:原子核俘获一个轨道电子,导致一个质子转变为中子,释放一个中微子(类似正电子衰变)
特征X射线:外层电子补充被俘获电子空缺轨道,直接释放能量
俄歇电子auger electron:释放的能量传递给更外层电子,使其释出
γ辐射:原子核处在激发态,直接释放能量
内转换电子:原子核能量传递给轨道电子,使其释出
衰变速度
dNdt=−λN\frac{dN}{dt} = -\lambda N
dtd ...