当前位置: 首页 > news >正文

freesurfer处理图谱和被试的脑模版对齐的操作

问题背景:
直接使用标准图谱和相应的mni标准分区是可以的。
在这里插入图片描述
在这里插入图片描述
在计算compute
在这里插入图片描述
直接使用体积模版进行匹配的脑图谱是不准确的。体积匹配就是,通过上面导入MNI parcellation。这是因为brainnetome采用的需要进行一些变换,才能映射到标准图谱上。但是通过下面的图谱对齐处理,我们可以看到这个显然要平滑一些。
在这里插入图片描述
下面这个是使用默认模版直接导入的。
在这里插入图片描述
因此下面进行上面这个效果实现的方法说明:

以brainnetome为例。
图谱下载的链接
您要使用
BN_Atlas_246_1mm.nii.gz
BN_Atlas_246_LUT.txt
进行FreeSurfer的被试对齐处理,这通常涉及将个体大脑对齐到标准atlas空间。以下是具体的操作步骤:

1. 准备工作

首先确保您有以下文件:

  • BN_Atlas_246_1mm.nii.gz (Brainnetome Atlas的NIfTI格式文件)
  • BN_Atlas_246_LUT.txt (查找表文件)
  • 您的被试数据(通常是T1加权结构像)

2. FreeSurfer环境设置

# 设置FreeSurfer环境变量
export FREESURFER_HOME=/path/to/freesurfer
export SUBJECTS_DIR=/path/to/your/subjects
source $FREESURFER_HOME/SetUpFreeSurfer.sh

3. 被试预处理(如果还没完成)

# 对被试进行完整的FreeSurfer处理
recon-all -i /path/to/subject/T1.nii.gz -subject subjectID -all

4. Atlas对齐操作

方法一:使用mri_vol2vol进行配准

# 将atlas对齐到被试的原生空间
mri_vol2vol --mov BN_Atlas_246_1mm.nii.gz \--targ $SUBJECTS_DIR/subjectID/mri/T1.mgz \--regheader \--o BN_Atlas_in_subject_space.nii.gz \--nearest# 或者将被试对齐到atlas空间
mri_vol2vol --mov $SUBJECTS_DIR/subjectID/mri/T1.mgz \--targ BN_Atlas_246_1mm.nii.gz \--regheader \--o subject_in_atlas_space.nii.gz

方法二:使用mri_convert和mri_label2vol

# 转换atlas到FreeSurfer格式
mri_convert BN_Atlas_246_1mm.nii.gz BN_Atlas_246_1mm.mgz# 创建配准矩阵(如果需要精确配准)
mri_coreg --mov $SUBJECTS_DIR/subjectID/mri/T1.mgz \--targ BN_Atlas_246_1mm.mgz \--reg subject_to_atlas.lta# 应用配准变换
mri_vol2vol --mov BN_Atlas_246_1mm.mgz \--targ $SUBJECTS_DIR/subjectID/mri/T1.mgz \--lta subject_to_atlas.lta \--o BN_Atlas_registered.mgz \--nearest

5. 验证对齐效果

# 使用freeview查看对齐效果
freeview $SUBJECTS_DIR/subjectID/mri/T1.mgz \BN_Atlas_registered.mgz:colormap=lut:lut=BN_Atlas_246_LUT.txt

6. ROI提取(可选)

# 提取特定ROI的平均信号
mri_segstats --seg BN_Atlas_registered.mgz \--ctab BN_Atlas_246_LUT.txt \--i $SUBJECTS_DIR/subjectID/mri/T1.mgz \--sum roi_stats.txt

注意事项

  1. 坐标系统:确保atlas和被试数据使用相同的坐标系统(通常是RAS)
  2. 分辨率匹配:如果分辨率不匹配,可能需要重采样
  3. 插值方法:对于标签数据使用--nearest插值,避免产生新的标签值
  4. 质量控制:务必通过可视化检查对齐质量

这个流程应该能帮您完成BN Atlas与FreeSurfer被试数据的对齐。如果遇到特定问题,请告诉我详细的错误信息。

进行图谱的功能网络映射

# 创建功能网络映射函数
create_network_mapping() {local subject_id=$1local output_dir="$SUBJECTS_DIR/$subject_id/brainnetome"cat > "$output_dir/functional_networks.txt" << 'EOF'
# Brainnetome 246区域功能网络映射
# 格式: ROI_ID Network_Name Network_ID
# 基于Brainnetome Atlas的8个主要功能网络# Visual Network (VIS) - 视觉网络
1 Visual 1
2 Visual 1
3 Visual 1
4 Visual 1
17 Visual 1
18 Visual 1
19 Visual 1
20 Visual 1# Somatomotor Network (SMN) - 躯体运动网络  
5 Somatomotor 2
6 Somatomotor 2
7 Somatomotor 2
8 Somatomotor 2
21 Somatomotor 2
22 Somatomotor 2
23 Somatomotor 2
24 Somatomotor 2
57 Somatomotor 2
58 Somatomotor 2
59 Somatomotor 2
60 Somatomotor 2
61 Somatomotor 2
62 Somatomotor 2
63 Somatomotor 2
64 Somatomotor 2# Dorsal Attention Network (DAN) - 背侧注意网络
9 DorsalAttention 3
10 DorsalAttention 3
25 DorsalAttention 3
26 DorsalAttention 3
73 DorsalAttention 3
74 DorsalAttention 3
75 DorsalAttention 3
76 DorsalAttention 3# Ventral Attention Network (VAN) - 腹侧注意网络
45 VentralAttention 4
46 VentralAttention 4
47 VentralAttention 4
48 VentralAttention 4
65 VentralAttention 4
66 VentralAttention 4# Limbic Network (LIM) - 边缘系统网络
89 Limbic 5
90 Limbic 5
91 Limbic 5
92 Limbic 5
93 Limbic 5
94 Limbic 5
95 Limbic 5
96 Limbic 5
211 Limbic 5
212 Limbic 5
213 Limbic 5
214 Limbic 5
215 Limbic 5
216 Limbic 5# Frontoparietal Network (FPN) - 额顶网络
11 Frontoparietal 6
12 Frontoparietal 6
27 Frontoparietal 6
28 Frontoparietal 6
67 Frontoparietal 6
68 Frontoparietal 6
69 Frontoparietal 6
70 Frontoparietal 6
71 Frontoparietal 6
72 Frontoparietal 6# Default Mode Network (DMN) - 默认模式网络
77 DefaultMode 7
78 DefaultMode 7
79 DefaultMode 7
80 DefaultMode 7
81 DefaultMode 7
82 DefaultMode 7
83 DefaultMode 7
84 DefaultMode 7
85 DefaultMode 7
86 DefaultMode 7
87 DefaultMode 7
88 DefaultMode 7# Subcortical Network (SUB) - 皮层下网络
217 Subcortical 8
218 Subcortical 8
219 Subcortical 8
220 Subcortical 8
221 Subcortical 8
222 Subcortical 8
223 Subcortical 8
224 Subcortical 8
225 Subcortical 8
226 Subcortical 8
227 Subcortical 8
228 Subcortical 8
229 Subcortical 8
230 Subcortical 8
231 Subcortical 8
232 Subcortical 8
233 Subcortical 8
234 Subcortical 8
235 Subcortical 8
236 Subcortical 8
237 Subcortical 8
238 Subcortical 8
239 Subcortical 8
240 Subcortical 8
241 Subcortical 8
242 Subcortical 8
243 Subcortical 8
244 Subcortical 8
245 Subcortical 8
246 Subcortical 8
EOF
}

此处把所有的批处理文件放在这里,使用freesurfer来执行。可以生成可导入brainstorm的包含,brainnetome图谱和对应的功能网络分区的scouts。

可以自行修改。

#!/bin/bash
# FreeSurfer + Brainnetome Atlas处理脚本 - 用于MEG源分析
# 用法:./process_deformed_templates_brainnetome.sh# 设置FreeSurfer环境
#export FREESURFER_HOME=/path/to/freesurfer  # 修改为您的FreeSurfer路径
#source $FREESURFER_HOME/SetUpFreeSurfer.shexport SUBJECTS_DIR=$(pwd)/FS_output  # 输出目录# 创建输出目录
mkdir -p $SUBJECTS_DIR# 检查Brainnetome图谱文件
BRAINNETOME_ATLAS="$SUBJECTS_DIR/BN_Atlas_246_1mm.nii.gz"
BRAINNETOME_LUT="$SUBJECTS_DIR/BN_Atlas_246_LUT.txt"if [ ! -f "$BRAINNETOME_ATLAS" ]; thenecho "错误: 找不到Brainnetome图谱文件: $BRAINNETOME_ATLAS"exit 1
fiif [ ! -f "$BRAINNETOME_LUT" ]; thenecho "错误: 找不到Brainnetome LUT文件: $BRAINNETOME_LUT"exit 1
fiecho "找到Brainnetome图谱文件:"
echo "  图谱: $BRAINNETOME_ATLAS"
echo "  LUT: $BRAINNETOME_LUT"# 线程数设置
OPENMP_THREADS=8# 创建功能网络映射函数
create_network_mapping() {local subject_id=$1local output_dir="$SUBJECTS_DIR/$subject_id/brainnetome"cat > "$output_dir/functional_networks.txt" << 'EOF'
# Brainnetome 246区域功能网络映射
# 格式: ROI_ID Network_Name Network_ID
# 基于Brainnetome Atlas的8个主要功能网络# Visual Network (VIS) - 视觉网络
1 Visual 1
2 Visual 1
3 Visual 1
4 Visual 1
17 Visual 1
18 Visual 1
19 Visual 1
20 Visual 1# Somatomotor Network (SMN) - 躯体运动网络  
5 Somatomotor 2
6 Somatomotor 2
7 Somatomotor 2
8 Somatomotor 2
21 Somatomotor 2
22 Somatomotor 2
23 Somatomotor 2
24 Somatomotor 2
57 Somatomotor 2
58 Somatomotor 2
59 Somatomotor 2
60 Somatomotor 2
61 Somatomotor 2
62 Somatomotor 2
63 Somatomotor 2
64 Somatomotor 2# Dorsal Attention Network (DAN) - 背侧注意网络
9 DorsalAttention 3
10 DorsalAttention 3
25 DorsalAttention 3
26 DorsalAttention 3
73 DorsalAttention 3
74 DorsalAttention 3
75 DorsalAttention 3
76 DorsalAttention 3# Ventral Attention Network (VAN) - 腹侧注意网络
45 VentralAttention 4
46 VentralAttention 4
47 VentralAttention 4
48 VentralAttention 4
65 VentralAttention 4
66 VentralAttention 4# Limbic Network (LIM) - 边缘系统网络
89 Limbic 5
90 Limbic 5
91 Limbic 5
92 Limbic 5
93 Limbic 5
94 Limbic 5
95 Limbic 5
96 Limbic 5
211 Limbic 5
212 Limbic 5
213 Limbic 5
214 Limbic 5
215 Limbic 5
216 Limbic 5# Frontoparietal Network (FPN) - 额顶网络
11 Frontoparietal 6
12 Frontoparietal 6
27 Frontoparietal 6
28 Frontoparietal 6
67 Frontoparietal 6
68 Frontoparietal 6
69 Frontoparietal 6
70 Frontoparietal 6
71 Frontoparietal 6
72 Frontoparietal 6# Default Mode Network (DMN) - 默认模式网络
77 DefaultMode 7
78 DefaultMode 7
79 DefaultMode 7
80 DefaultMode 7
81 DefaultMode 7
82 DefaultMode 7
83 DefaultMode 7
84 DefaultMode 7
85 DefaultMode 7
86 DefaultMode 7
87 DefaultMode 7
88 DefaultMode 7# Subcortical Network (SUB) - 皮层下网络
217 Subcortical 8
218 Subcortical 8
219 Subcortical 8
220 Subcortical 8
221 Subcortical 8
222 Subcortical 8
223 Subcortical 8
224 Subcortical 8
225 Subcortical 8
226 Subcortical 8
227 Subcortical 8
228 Subcortical 8
229 Subcortical 8
230 Subcortical 8
231 Subcortical 8
232 Subcortical 8
233 Subcortical 8
234 Subcortical 8
235 Subcortical 8
236 Subcortical 8
237 Subcortical 8
238 Subcortical 8
239 Subcortical 8
240 Subcortical 8
241 Subcortical 8
242 Subcortical 8
243 Subcortical 8
244 Subcortical 8
245 Subcortical 8
246 Subcortical 8
EOF
}# Brainnetome图谱处理函数
process_brainnetome_atlas() {local subject_id=$1local subject_dir="$SUBJECTS_DIR/$subject_id"local bn_output_dir="$subject_dir/brainnetome"echo "开始Brainnetome图谱处理: $subject_id"# 创建brainnetome输出目录mkdir -p "$bn_output_dir"# 1. 将Brainnetome图谱配准到被试空间echo "  配准Brainnetome图谱到被试空间..."mri_vol2vol --mov "$BRAINNETOME_ATLAS" \--targ "$subject_dir/mri/T1.mgz" \--regheader \--o "$bn_output_dir/BN_Atlas_246_subject_space.mgz" \--nearestif [ $? -ne 0 ]; thenecho "  错误: Brainnetome图谱配准失败"return 1fi# 2. 转换为NIFTI格式便于后续分析echo "  转换为NIFTI格式..."mri_convert "$bn_output_dir/BN_Atlas_246_subject_space.mgz" \"$bn_output_dir/BN_Atlas_246_subject_space.nii.gz"# 3. 生成被试特异的LUT文件echo "  复制LUT文件..."cp "$BRAINNETOME_LUT" "$bn_output_dir/BN_Atlas_246_LUT.txt"# 4. 提取图谱统计信息echo "  提取图谱统计信息..."mri_segstats --seg "$bn_output_dir/BN_Atlas_246_subject_space.mgz" \--ctab "$BRAINNETOME_LUT" \--sum "$bn_output_dir/brainnetome_stats.txt" \--pv "$subject_dir/mri/T1.mgz"# 5. 创建功能网络映射echo "  创建功能网络映射..."create_network_mapping "$subject_id"# 6. 生成每个ROI的maskecho "  生成ROI masks..."local roi_dir="$bn_output_dir/rois"mkdir -p "$roi_dir"# 从LUT文件读取ROI信息并生成maskswhile IFS=$'\t' read -r roi_id roi_name r g b a; do# 跳过注释行和空行if [[ $roi_id =~ ^#.*$ ]] || [ -z "$roi_id" ]; thencontinuefi# 生成单个ROI的maskmri_binarize --i "$bn_output_dir/BN_Atlas_246_subject_space.mgz" \--match "$roi_id" \--o "$roi_dir/ROI_${roi_id}_${roi_name// /_}.mgz" \> /dev/null 2>&1done < "$BRAINNETOME_LUT"# 7. 生成网络级别的masksecho "  生成功能网络masks..."local network_dir="$bn_output_dir/networks"mkdir -p "$network_dir"# 为每个功能网络创建maskfor network_id in {1..8}; docase $network_id in1) network_name="Visual" ;;2) network_name="Somatomotor" ;;3) network_name="DorsalAttention" ;;4) network_name="VentralAttention" ;;5) network_name="Limbic" ;;6) network_name="Frontoparietal" ;;7) network_name="DefaultMode" ;;8) network_name="Subcortical" ;;esac# 提取属于该网络的ROI IDroi_list=$(awk -v net_id="$network_id" '$3 == net_id {printf "%s ", $1}' "$bn_output_dir/functional_networks.txt")if [ ! -z "$roi_list" ]; then# 创建网络maskmri_binarize --i "$bn_output_dir/BN_Atlas_246_subject_space.mgz" \--match $roi_list \--o "$network_dir/Network_${network_id}_${network_name}.mgz"fidone# 8. 生成Brainnetome处理总结cat > "$bn_output_dir/BRAINNETOME_PROCESSING_SUMMARY.txt" << EOF
Brainnetome Atlas处理总结
被试ID: $subject_id
处理日期: $(date)生成文件:
1. 配准图谱: BN_Atlas_246_subject_space.mgz/nii.gz
2. LUT文件: BN_Atlas_246_LUT.txt
3. 统计文件: brainnetome_stats.txt
4. 功能网络映射: functional_networks.txt
5. ROI masks: rois/ROI_*.mgz (246个区域)
6. 网络masks: networks/Network_*.mgz (8个功能网络)功能网络:
1. Visual (视觉网络)
2. Somatomotor (躯体运动网络)
3. DorsalAttention (背侧注意网络)
4. VentralAttention (腹侧注意网络)
5. Limbic (边缘系统网络)
6. Frontoparietal (额顶网络)
7. DefaultMode (默认模式网络)
8. Subcortical (皮层下网络)使用方法:
- MEG源分析: 使用rois/中的单个ROI masks
- 网络分析: 使用networks/中的网络masks
- 连接组分析: 使用brainnetome_stats.txt中的统计信息
EOFecho "  Brainnetome图谱处理完成"return 0
}# 处理当前目录下所有符合条件的NIFTI文件
for input_file in ./*_desc-warpimg_T1w.nii; do# 提取被试ID (从文件名如sub-001_desc-warpimg_T1w.nii提取sub-001)subject_id=$(basename "$input_file" | cut -d'_' -f1)# 检查是否已处理过if [ -d "$SUBJECTS_DIR/$subject_id" ]; then# 检查是否已完成所需步骤if [ -f "$SUBJECTS_DIR/$subject_id/COMPLETED_MEG_PROCESSING" ] && \[ -f "$SUBJECTS_DIR/$subject_id/COMPLETED_BRAINNETOME_PROCESSING" ]; thenecho "跳过已处理被试: $subject_id"continueelseecho "检测到未完成处理,重新处理被试: $subject_id"# 保留已完成的FreeSurfer处理,只重新处理Brainnetome部分if [ ! -f "$SUBJECTS_DIR/$subject_id/COMPLETED_MEG_PROCESSING" ]; thenrm -rf "$SUBJECTS_DIR/$subject_id"fififiecho "开始处理: $subject_id"echo "输入文件: $input_file"# FreeSurfer处理部分if [ ! -f "$SUBJECTS_DIR/$subject_id/COMPLETED_MEG_PROCESSING" ]; then# 执行完整的recon-allecho "执行完整recon-all处理..."recon-all -s "$subject_id" -i "$input_file" -all -openmp $OPENMP_THREADS# 检查recon-all是否成功if [ $? -ne 0 ]; thenecho "recon-all处理失败: $subject_id"echo "请检查日志: $SUBJECTS_DIR/$subject_id/scripts/recon-all.log"continuefi# 验证关键文件是否生成echo "验证FreeSurfer文件..."required_files=("$SUBJECTS_DIR/$subject_id/surf/lh.pial""$SUBJECTS_DIR/$subject_id/surf/rh.pial""$SUBJECTS_DIR/$subject_id/surf/lh.white""$SUBJECTS_DIR/$subject_id/surf/rh.white""$SUBJECTS_DIR/$subject_id/surf/lh.sphere.reg""$SUBJECTS_DIR/$subject_id/surf/rh.sphere.reg""$SUBJECTS_DIR/$subject_id/surf/lh.inflated""$SUBJECTS_DIR/$subject_id/surf/rh.inflated""$SUBJECTS_DIR/$subject_id/mri/T1.mgz""$SUBJECTS_DIR/$subject_id/mri/brain.mgz""$SUBJECTS_DIR/$subject_id/mri/aseg.mgz")missing_files=()for file in "${required_files[@]}"; doif [ ! -f "$file" ]; thenmissing_files+=("$file")fidoneif [ ${#missing_files[@]} -gt 0 ]; thenecho "警告: 以下FreeSurfer文件缺失:"printf '%s\n' "${missing_files[@]}"echo "被试 $subject_id FreeSurfer处理不完整"continuefi# 生成FreeSurfer处理总结echo "生成FreeSurfer处理总结..."cat > "$SUBJECTS_DIR/$subject_id/MEG_PROCESSING_SUMMARY.txt" << EOF
被试ID: $subject_id
FreeSurfer处理日期: $(date)
输入文件: $input_file生成的关键文件(用于Brainstorm):
- 皮层表面: lh.pial, rh.pial, lh.white, rh.white
- 表面配准: lh.sphere.reg, rh.sphere.reg
- 膨胀表面: lh.inflated, rh.inflated
- 解剖信息: mri/T1.mgz, mri/brain.mgz, mri/aseg.mgz处理阶段:
✓ 完整recon-all处理: 完成
✓ 使用参数: -all -openmp $OPENMP_THREADS注意: 此数据使用变形的T1图像处理,用于MEG源定位分析
EOF# 创建FreeSurfer完成标记touch "$SUBJECTS_DIR/$subject_id/COMPLETED_MEG_PROCESSING"echo "FreeSurfer处理完成: $subject_id"elseecho "FreeSurfer已完成,跳过: $subject_id"fi# Brainnetome图谱处理部分if [ ! -f "$SUBJECTS_DIR/$subject_id/COMPLETED_BRAINNETOME_PROCESSING" ]; thenif process_brainnetome_atlas "$subject_id"; then# 创建Brainnetome完成标记touch "$SUBJECTS_DIR/$subject_id/COMPLETED_BRAINNETOME_PROCESSING"echo "Brainnetome处理完成: $subject_id"elseecho "Brainnetome处理失败: $subject_id"continuefielseecho "Brainnetome已完成,跳过: $subject_id"fiecho "被试 $subject_id 全部处理完成!"echo "------------------------------------------------"
doneecho ""
echo "所有处理完成!"
echo "输出目录: $SUBJECTS_DIR"
echo ""
echo "每个被试的输出结构:"
echo "  $SUBJECTS_DIR/sub-xxx/"
echo "  ├── surf/                    # FreeSurfer表面文件"
echo "  ├── mri/                     # FreeSurfer解剖文件"
echo "  ├── brainnetome/"
echo "  │   ├── BN_Atlas_246_subject_space.mgz/nii.gz  # 配准的图谱"
echo "  │   ├── BN_Atlas_246_LUT.txt                    # 标签文件"
echo "  │   ├── brainnetome_stats.txt                   # 统计信息"
echo "  │   ├── functional_networks.txt                 # 功能网络映射"
echo "  │   ├── rois/                                   # 246个ROI masks"
echo "  │   └── networks/                               # 8个功能网络masks"
echo "  ├── MEG_PROCESSING_SUMMARY.txt"
echo "  └── BRAINNETOME_PROCESSING_SUMMARY.txt"
echo ""
echo "Brainstorm + MEG源分析使用说明:"
echo "1. FreeSurfer数据导入Brainstorm (指向 $SUBJECTS_DIR/sub-xxx)"
echo "2. ROI分析: 使用 brainnetome/rois/ 中的单个区域masks"
echo "3. 网络分析: 使用 brainnetome/networks/ 中的功能网络masks"
echo "4. 连接组分析: 参考 brainnetome_stats.txt 和 functional_networks.txt"
echo ""
echo "功能网络包括:"
echo "  1. Visual (视觉网络)"
echo "  2. Somatomotor (躯体运动网络)"
echo "  3. DorsalAttention (背侧注意网络)"
echo "  4. VentralAttention (腹侧注意网络)"
echo "  5. Limbic (边缘系统网络)"
echo "  6. Frontoparietal (额顶网络)"
echo "  7. DefaultMode (默认模式网络)"
echo "  8. Subcortical (皮层下网络)"
http://www.dtcms.com/a/308339.html

相关文章:

  • realm数据库RealmObject的作用
  • 电子电气架构 --- 车载48V系统开辟全新道路
  • 神奇的数据跳变
  • 【实战教程】Nginx 全方位拦截 Web 常见攻击(含目录遍历、SQL 注入等)
  • Spire.XLS for .NET 中, 将 Excel 转换为 PDF 时, 如何设置纸张大小为A4纸,并将excel内容分页放置?
  • Go语言的gRPC教程-通信模式
  • 搭建 Mock 服务,实现前端自调
  • Python与MySQL的关联操作
  • AI+金融,如何跨越大模型和场景鸿沟?
  • 006 低功耗蓝牙BLE——音频数据无法直接免驱传输分析与折中方案
  • Spark SQL 的详细介绍
  • CentOS7上使用Docker安装Nacos详细步骤
  • java一个脚手架搭建
  • 常用设计模式系列(十六)—策略模式
  • sqli-labs靶场Less23
  • Jmeter全局变量跨线程组的使用
  • 四、主辅源电路
  • F12 开发者工具 使用指北
  • vk框架或者普通函数封装的一些函数可以拿取使用【会持续更新】
  • 谷歌devtools检查文本资源是否已压缩
  • 【LeetCode 热题 100】20. 有效的括号
  • 使用 Docker 部署 Apache RocketMQ
  • 数据转换能干什么?有哪些好用的数据转换方法?
  • 剖析客户服务痛点,借助 Baklib 整合多渠道反馈
  • ADW300 物联网仪表:引领能源计量智能化变革
  • STM32标准库搭建示例(STM32F103C8T6)
  • 操作系统:上下文切换(Context Switch)
  • Effective C++ 条款13:以对象管理资源
  • LLC电源原边MOS管DS增加RC吸收对ZVS的影响分析
  • Linux和shell