Batch Processing
Process Multiple Images
Command Line
Analyze all images in a directory:
nema_quant --input-dir images/ --output-dir results/ --parallel
With options:
nema_quant --input-dir images/ \
--output-dir results/ \
--config config.yaml \
--parallel \
--num-workers 4
Python API
from pathlib import Path
from nema_quant import analysis
from concurrent.futures import ProcessPoolExecutor
image_dir = Path('images/')
output_dir = Path('results/')
output_dir.mkdir(exist_ok=True)
def process_image(image_path):
phantom = NemaPhantom(image_path=str(image_path))
metrics = analysis.calculate_image_quality_metrics(phantom)
return metrics
# Process in parallel
with ProcessPoolExecutor(max_workers=4) as executor:
images = list(image_dir.glob('*.nii.gz'))
results = executor.map(process_image, images)
# Save results
for img, result in zip(images, results):
output_file = output_dir / f"{img.stem}_metrics.json"
result.save(output_file)