MingzhenL's picture
Add files using upload-large-folder tool
01857e4 verified
Raw History Blame Contribute Delete
3.08 kB
#!/usr/bin/env python3
"""
测试 Step 2 (packing) 的脚本
用法: python test_step2.py --dataset_name Task01_BrainTumour
"""
import sys
import os
from pathlib import Path
# 添加当前目录到路径
SCRIPT_DIR = Path(__file__).resolve().parent
sys.path.insert(0, str(SCRIPT_DIR))
from end_to_end_preprocessing import run_step2_packing
import argparse
def main():
parser = argparse.ArgumentParser(description="Test Step 2 (packing)")
parser.add_argument("--dataset_name", type=str, required=True,
help="Dataset name (e.g., Task01_BrainTumour)")
parser.add_argument("--output_base_dir", type=str, default="/projects/p32685/RL_dataset",
help="Base output directory")
parser.add_argument("--template_percent", type=int, default=10,
help="Template percentage (default: 10)")
args = parser.parse_args()
# 确定输入目录(HF 格式)
if args.dataset_name.startswith("Task") and args.dataset_name.endswith(("BrainTumour", "Heart", "Liver", "Hippocampus",
"Prostate", "Lung", "Pancreas", "HepaticVessel",
"Spleen", "Colon")):
task_num = args.dataset_name.split("_")[0] # Task01
dataset_dir = os.path.join(args.output_base_dir, f"MSD_{task_num.lower()}", args.dataset_name)
else:
dataset_dir = os.path.join(args.output_base_dir, args.dataset_name.lower())
# 检查输入目录是否存在
if not os.path.exists(dataset_dir):
print(f"✗ Error: Dataset directory not found: {dataset_dir}")
print(f" Make sure Step 1 has completed successfully.")
sys.exit(1)
# 检查 dataset_info.json 是否存在
dataset_info_path = os.path.join(dataset_dir, "dataset_info.json")
if not os.path.exists(dataset_info_path):
print(f"✗ Error: dataset_info.json not found in {dataset_dir}")
print(f" Step 1 may not have completed successfully.")
sys.exit(1)
print("="*80)
print("TESTING STEP 2: PACKING")
print("="*80)
print(f"Dataset: {args.dataset_name}")
print(f"Input directory: {dataset_dir}")
print(f"Output base: {args.output_base_dir}")
print(f"Template percent: {args.template_percent}%")
print("="*80)
try:
processed_dir = run_step2_packing(
dataset_dir=dataset_dir,
output_base_dir=args.output_base_dir,
dataset_name=args.dataset_name,
template_percent=args.template_percent
)
print("\n" + "="*80)
print("✓ STEP 2 TEST PASSED")
print("="*80)
print(f"Output directory: {processed_dir}")
return 0
except Exception as e:
print("\n" + "="*80)
print("✗ STEP 2 TEST FAILED")
print("="*80)
print(f"Error: {e}")
import traceback
traceback.print_exc()
return 1
if __name__ == "__main__":
sys.exit(main())