树莓派4B配置OpenWRT记录
步骤记录
rpi的物理网口作为wan口,无线网络作为lan
12flowchart LR 光猫 --> 主路由 -->|以太网| rpi -->|无线| 上网设备
刷入immortalwrt
有线网连接树莓派,可能需要手动配置一下ip地址,使设备和树莓派处在同一个网段中
将lan口配置为:
协议:静态地址
设备:br-lan 设备:phy0-ap0
ipv4地址:192.168.8.1(可以选一个和主路由不冲突的)
ipv4网关留空(会默认配置为192.168.31.1,也就是主路由的网关)
新建一个wan口:
协议:DHCP客户端
设备:br-lan 设备:eth0
配置防火墙:在网络-防火墙-区域中,设置lan到wan的规则中,wan口启用IP动态伪装。这个也称为源NAT/IP masquerading
解释
想进行代理有大概两种思路:
把rpi视作一个上网设备,配置设备为br-lan,协议静态地址,ipv4地址选一个与主路由相同网段的(例如192.168.31.150之类的),并在DHCP里勾选忽略此接口(也就是此接口不提供DHCP服务, ...
Personalized Treatment Planning for Radiopharmaceutical Therapy
Personalized Treatment Planning for Radiopharmaceutical Therapy
Pre-therapy imaging (PET/CT)
Dose-estimation: Intensively investigated and partially solved (planar / SPECT/CT)
Treatment
Dose prediction
Dose effect
Treatment outcome
Adverse events
Vitalize the virtual patient
Physiologically-based pharmacokinetic (PBPK) model
Simulate time-course of radioligand uptake in organs of virtual patient
Organs & tumor: homogenous
Simulate PET imaging using realistic PET simulator
Dose calc ...
SPM学习笔记
开启SPM12
1spm pet
基本操作
12345I = dicomread(dicomFile)imshow(I, 'DisplayRange', []) % 显示DICOM图像info = dicominfo(dicomFile) % 显示元信息% info.AcquisitionTime较重要
计算SUV:使用ImCalc输入计算公式后,Display选中计算结果
图像预处理
Spatial Registration, Normalization
Registration: Rigid Transformations (rotations, translations…)
Normalization: Transform to Montreal Neurology Institute (MNI) Template
Smoothing: e.g. Gaussian kernel, improve SNR, minimize differences between normalized images, increase validity of statist ...
大话设计模式-策略模式
工厂在业务逻辑增加的过程中,也会越来越复杂,维护性逐渐降低。
策略模式
定义了算法家族,分别封装起来,让其可以互相替换。此模式让算法的变化不影响使用算法的客户。
核心在于算法是随时都可能相互替换的。
Strategy类,定义所有支持的算法的公共接口
ConcreteStrategy类,封装具体算法或行为,继承自Strategy
Context类,使用一个ConcreteStrategy进行配置,维护一个对Strategy对象的引用
123456class Context def __init__(self, strategy: Strategy): self.strategy = strategy def context_interface(): return self.strategy.algorithm_interface()
但在具体实现过程中,仍然不能完全将策略选择过程从客户端中剥离。可以考虑与简单工厂模式结合。
12345678class CashContext: def __init__(type: str): # 接收策略类型而不是具体 ...
放射性药物与放疗激活药物
放射性药物与放疗激活药物
新药开发
PSMA-SPECT/CT技术是一种前列腺特异性膜抗原-单光子发射计算机断层摄影技术
肿瘤滞留不足是放射性药物面临的关键挑战。
前期工作
制备紧缺核素
延长血液循环,提高肿瘤摄取:可能不能成功
定点修饰抗体
FAPI小分子结构改造,加强靶向,高速清除降低毒副作用
短半衰期核素降低毒副作用
共价放射性药物增加核素的肿瘤摄取和滞留,靶向后激活
核素治疗不依赖信号通路,但有副作用。
放射性驱动的药物化学
gamma、X线、热中子束容易调控
发展放疗驱动的选择性断键,引发化疗药物的靶向释放,但十分困难(电子束能量大,断键无选择性)。
羟基自由基激活药物
伦琴发现氰化铂可以被X线激活发光,因此可能使用放射线释放顺铂
肿瘤内强烈的还原环境,乏氧化
放射性含B药物用于B中子俘获治疗
B完全不参与蛋白质合成与结合,因此本底更低
钆中子俘获核反应驱动
单个癌细胞上受体的量级1e6-1e7
一些别的思考
非一线治疗天然存在劣势:收治的志愿者往往更严重
新药物的毒性很难评估:病人死亡是药物副作用还是疾病本身进展?
核素储量本身也是一 ...
大话设计模式-简单工厂模式
直觉地用计算机的方式去思考是初学者常见的问题
活字印刷
可维护:只更改需要更改的字
可复用:在后来的印刷中重复使用
可扩展:另外加字
高灵活:排版方式不同
使用封装、继承、多态,降低程序耦合。
业务封装
将业务和界面分离:Web、Windows、Linux平台下的计算机均可使用Operation类。只需重写界面即可。
松耦合
构建一个基类Operation,其他运算继承此基类,并重写其虚方法。如此可更容易地添加新运算。
简单工厂模式
用一个单独的类来进行创造实例的活动。
1234oper = OperationFactory.create_pperate('+')oper.num1 = 1oper.num2 = 1result = oper.get_result()
如果需要修改加法,只需修正class OperationAdd,增加其他运算只需添加对应的子类并修改工厂。
UML简介
接口实现:棒棒糖表示法
关联:一个类"知晓"另一个类,可用实线箭头表示
聚合:一种"弱拥有",A可包含B对象,但B对象不是A对象的一部 ...
MMSegmentation实战
课程
课程的代码教学非常详细。本文的主要代码均来源于代码教学。
检查安装成功
12345import mmcvfrom mmcv.ops import get_compiling_cuda_version, get_compiler_versionprint('MMCV版本', mmcv.__version__)print('CUDA版本', get_compiling_cuda_version())print('编译器版本', get_compiler_version())
实战
进行推理
12python demo/image_demo.py img.jpg config.py \ checkpoint.pth --out-file fname.jpg --device cuda:0 --opacity 0.5
运行语义分割预测
12345678from mmseg.apis import inference_modelfrom mmengine.model.utils import revert_sync_ba ...
语义分割小综述
课程
应用
人像分割
自动驾驶
医疗影像
智能遥感:河流、田地等
思路
先验知识:颜色相近,物体交界颜色变化
先验知识不完全准确
逐像素分类:滑窗,逐个滑动预测类别
需重复计算卷积
复用卷积:直接在feature map上预测
需要全连接层的卷积化:每个全连接层神经元用一个卷积核替换(Fully Convolutional Network)
预测图上采样:双线性插值或转置卷积
双线性插值可以用对应卷积核代替:先进行零插值,再使用设计好的卷积核卷积
转置卷积
也称升卷积Upconvolution或反卷积Deconvolution,但不建议使用反卷积,其在数学上与卷积不互逆。转置卷积Transposed Convolution名称来源于卷积对应的矩阵运算。
对于卷积运算
O=I∗h=CIO = I * h = CI
O=I∗h=CI
其中hhh为卷积核,OOO为输出(小图),III为输入(大图),CCC为卷积运算的等价矩阵乘法项。可以发现其转置卷积有
I′=O′∗h′=CTO′I' = O'*h' = C^TO ...
mmDetection实战
课程
YOLOv3模型
主干网络:Darknet53
颈部:FPN
检测头
技巧
搜索模型:
1mim search mmdet --model "mask r-cnn"
推理
12345from mmdet.apis import init_detector, inference_detector, show_result_pyplotmodel = init_detector('config_path', 'checkpoint_path')result = inference_detector(model, 'img_path')show_result_pyplot(model, 'img_path', result)
推理
简单的推理
1234from mmdet.apis import init_detector, inference_detetor, show_result_pyplotmodel = init_detector(cfg, checkpoint ...